[Analogique] CI pour enregistrer samples sonores
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

CI pour enregistrer samples sonores



  1. #1
    MatthieuW31

    CI pour enregistrer samples sonores


    ------

    Bonjour,

    Je commence à développer une carte qui permettra entre autre d'enregistrer une phrase dite dans un micro et d'y appliquer des effets sonores (écho, réverbération, distorsion...) avant d'envoyer le signal dans un HP lorsque l'on appuie sur un bouton. Le traitement du signal sonore se fera à l'aide d'un DSP (ADAU1761).
    Seulement, celui-ci n'a pas assez de RAM pour stocker des échantillons sonores.

    Quelle serait selon vous la solution la plus simple à mettre en œuvre pour stocker un sample?
    Y a t'il un CI qui peut stocker/restituer le signal analogique issu du micro (et éventuellement amplifié).
    Sinon vaut-il mieux acquérir le signal avec le DSP et l'envoyer vers une mémoire une fois qu'il a été converti par l'ADC? Le tout serait géré par un microcontrôleur. Cette solution risque d'être compliquée à gérer niveau programmation non?

    -----

  2. #2
    Janpolanton

    Re : CI pour enregistrer samples sonores

    Bonjour,
    Le ADAU1761 n'est peut-être pas le bon choix.
    La recherche paramétrique Analog Devices propose d'autres modèles.
    Elle est "cliquable" sur le lien dans votre post.

  3. #3
    jiherve

    Re : CI pour enregistrer samples sonores

    bonjour,
    il n'existe pas CI capable de stocker de l'audio sous forme analogique, mais un magnétophone le permet .
    Il faut passer par l'ADC du composant et voir s'il est possible en utilisant le port série (I²C/SPI) de mémoriser le résultat du codage dans une mémoire externe; cela va demander de la tripaille et du soft.
    il existe des RAM SPI.
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    Merci pour vos réponses.

    Le ADAU1761 n'est peut-être pas le bon choix.
    Je suis limité par le prix et les DSP dispos sur JLCPCB (site de fabrication/assemblage des PCB que j'utilise). Je fais faire 5 protos et celui-ci au vu des specs correspond au besoin. Il n'a pas de mémoire mais en regardant les autres DSP de la gamme, je n'ai pas l'impression qu'il y en ait un qui soit doté d'assez de RAM pour enregistrer un sample de quelques secondes. Ce qui m'attire vers cette gamme de DSP audio est qu'on peut programmer avec un soft type Labview.

    Il faut passer par l'ADC du composant et voir s'il est possible en utilisant le port série (I²C/SPI) de mémoriser le résultat du codage dans une mémoire externe; cela va demander de la tripaille et du soft.
    il existe des RAM SPI.
    Oui c'est effectivement ce à quoi j'ai pensé, mais j'ai peur que ce soit une usine à gaz! En gros, il faudrait que le µcontrôler ordonne au DSP d'envoyer les données en RAM, puis qu'il ordonne à la RAM d'envoyer les données au DSP pour que celui-ci les envoie vers sa sortie audio. J'ai peur de butter sur la programmation!

  5. A voir en vidéo sur Futura
  6. #5
    jiherve

    Re : CI pour enregistrer samples sonores

    re
    de toutes façons il faut bien un µC pour contrôler ce composant car à minima il faut charger le code ,manipuler les données ne sera pas bien plus compliqué.
    JR
    l'électronique c'est pas du vaudou!

  7. #6
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    de toutes façons il faut bien un µC pour contrôler ce composant car à minima il faut charger le code ,manipuler les données ne sera pas bien plus compliqué.
    Effectivement, ce composant n'a pas de self-boot à partir d'une RAM contrairement à d'autres de la gamme, donc il me faudra dans tous les cas un µcontrôleur. Je voulais ajouter un STM32 car je n'ai jamais eu l'occasion d'en programmer, mais peut-être qu'il sera plus prudent d'utiliser un PIC que je maîtrise mieux, voire un Atmega sous Arduino.

  8. #7
    jiherve

    Re : CI pour enregistrer samples sonores

    re
    ce qui sera dimensionnant et donc un critère de choix c'est la capacité du µC à piloter une liaison SPI rapide, l'I²C sera toujours trop lent pour du transfert massif de données.
    JR
    l'électronique c'est pas du vaudou!

  9. #8
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    Bonjour Hervé,

    Le DSP étant équipé d'ADC stéréos échantillonnant à 96kHz max avec une résolution de 24 bits, est-il juste d'en déduire la fréquence d'horloge que doit fournir le microcontrôleur ainsi: 2 x 96k x 24 = 5MHz minimum?

    Par contre je ne comprends pas comment cela doit fonctionner:
    Le µcontrôleur est maître et va fournir l'horloge au DSP audio et à la RAM. Comment peut se faire le transfert des données du DSP audio vers la RAM et inversement?? Faut-il que les données transitent par le µcontrôleur qui serait équipé de 2 port SPI et qui aurait le DSP sur 1 port et la RAM sur le 2nd port?

    Concernant la RAM, je pense que la ref APS1604M-3SQR-SN devrait faire l'affaire.

  10. #9
    jiherve

    Re : CI pour enregistrer samples sonores

    bonsoir
    oui c'est le minimum , car il faudra tenir compte de l'emballage (adressage, cycles morts etc etc)
    pour la mémoire à capacité égale il vaudrait mieux çà :https://www.mouser.fr/ProductDetail/...VBLLgFXA%3D%3D
    L'autre est une bête de course mais l'interface sera délicate avec un µC car les I/O sont à basse impedance
    Et oui il faudra un second port SPI ou jongler avec les CS# sur un seul port mais à fréquence double.
    JR
    nota : pas Hervé mais JR
    l'électronique c'est pas du vaudou!

  11. #10
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    Bonjour et surtout merci JR donc!

    OK pour la mémoire, celle-ci suffira oui.

    l'interface sera délicate avec un µC car les I/O sont à basse impedance
    Pour ma culture perso, peux-tu m'expliquer ce point s'il te plaît?


    Je vais plutôt opter pour 2 ports SPI, ce sera plus propre je pense. Sitôt les données audio lues par le port SPI1, elles doivent être transférées vers la RAM avec le port SPI2. Et pareil dans l'autre sens, mais quelques secondes plus tard. Les 2 ports sont donc utilisés simultanément. Je ne pense pas que ce soit nécessaire mais je pose la question au cas où: un microcontrôleur double cœur est-il nécessaire?

    J'ai repéré le dsPIC33CK64MC105 dont le SPI peut travailler à 50Mbps à condition de conserver les broches dédiées (sinon c'est 15MHz).

    En double cœur, j'ai repéré le dsPIC33CH128MP508 dont le SPI peut travailler à 40Mbps à condition de conserver les broches dédiées (sinon c'est 15MHz).

    Puis-je me passer du double cœur et opter pour le 1er dsPIC? Au pire, je peux réduire le taux d'échantillonnage à 48kHz voire 24kHz si besoin.

  12. #11
    David71120

    Re : CI pour enregistrer samples sonores

    Bonjour,

    Pour répondre à la question de départ, il existe bien des CI spécialisés dans l'enregistrement et la restitution d'enregistrement sonore, notamment la série des ISD 10xx ou des ISD 14B.
    https://pdf1.alldatasheet.com/datash.../ISD14B00.html
    Il n'y a que 10 sortes de personnes, celles qui savent lire le binaire et les autres.

  13. #12
    jiherve

    Re : CI pour enregistrer samples sonores

    bonsoir
    sur la mémoire que tu proposais les impédances des I/O sont à 50ohm au power up cela pourrait poser un probleme au µC ,ensuite il y a une fréquence minimale d'horloge (c'est planqué dans la DS) car ce n'est pas une RAM statique.
    Tu n'as pas besoin d'un double cœur par contre il te faudra sans doute activer le DMA pour gérer tes deux canaux SPI.
    Ne connaissant pas bien les PIC et pas du tout les dsPIC je ne pourrais pas t'aider à coup sur mais j’essaierais.
    ajout : ces chips pour répondeur c'est de la lofi ,12kHz échantillonnage => BW 6kHz!
    JR
    Dernière modification par jiherve ; 30/03/2023 à 17h55.
    l'électronique c'est pas du vaudou!

  14. #13
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    Pour répondre à la question de départ, il existe bien des CI spécialisés dans l'enregistrement et la restitution d'enregistrement sonore, notamment la série des ISD 10xx ou des ISD 14B.
    Merci David71120 très drôle ta signature!
    En effet, ces circuits sont un peu vieillots, mais en fouinant un peu j'ai vu que le constructeur proposait des versions plus récentes et plus performantes qui pourraient convenir. Pour l'instant je vais rester sur la solution dsPIC + RAM qui sera plus formatrice je pense.


    Tu n'as pas besoin d'un double cœur par contre il te faudra sans doute activer le DMA pour gérer tes deux canaux SPI.
    Après avoir lu avec plus d'attention la datasheet du ADAU1761, je me pose pas mal de questions quant à la programmation du streaming audio ADAU1761->RAM et RAM->ADAU1761.

    J'ai fait un schéma de principe des liaisons SPI/I2C:
    Nom : Liaisons SPI I2C.png
Affichages : 85
Taille : 102,9 Ko

    La datasheet dit: 'The valid data formats are I2S, left-justified, right-justified (24-/20-/18-/16-bit), and TDM'
    Si je comprends bien, la RAM étant organisée en 256Kx8, je dois choisir un format I2S sur 16 ou 24 bits pour simplifier l'écriture/lecture en RAM?
    Le transfert via DMA se fait en 8 ou 16 bits, donc j'imagine qu'il ne devrait pas y avoir de problème.
    Ensuite, une fois les données lues dans la RAM, il faut les reconvertir au format I2S, j'imagine aussi que ça doit être faisable même si pour le moment ça reste un peu flou.

    Pour info, la RAM hébergera aussi le programme du CODEC audio qui doit être chargé à chaque démarrage.

    En fait je veux être sûr du principe avant de saisir le schéma et surtout avant de passer commande une fois le PCB terminé car je pense que le principe est bon mais j'ai peur de passer à coté de quelque chose! (comme l'erreur que j'avais fait sur le choix de la RAM par exemple)

  15. #14
    jiherve

    Re : CI pour enregistrer samples sonores

    bonsoir
    dans la doc du µc il est écrit:
    The module also supports Audio modes. Four different
    Audio modes are available.
    • I2S mode
    • Left Justified mode
    • Right Justified mode
    • PCM/DSP mode
    donc à priori cela devrait fonctionner dans tous les cas.
    Tu as du boulot en perspective.
    JR
    l'électronique c'est pas du vaudou!

  16. #15
    MatthieuW31

    Re : CI pour enregistrer samples sonores

    Désolé pour le temps de réaction!
    Merci JR pour ces infos.
    Je vais donc commencer le design de la carte et je pense que je posterai le schéma sur le forum pour avoir des avis avant de lancer le routage et surtout la fabrication.

    Ps:
    Pour info, la RAM hébergera aussi le programme du CODEC audio qui doit être chargé à chaque démarrage.
    J'étais allé un peu vite, c'est la flash du µcontrôleur ou EEPROM externe qui hébergera le programme du CODEC (qui n'est pas pourvu de flash).

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/01/2014, 18h03
  2. Samples pour etudiants ?
    Par invite855cd7fb dans le forum Électronique
    Réponses: 4
    Dernier message: 17/04/2013, 21h32
  3. Samples MicroChip
    Par ak47only dans le forum Électronique
    Réponses: 2
    Dernier message: 22/03/2007, 00h20
  4. Traitement des signaux sonores, coller deux samples
    Par DjPoke dans le forum Technologies
    Réponses: 7
    Dernier message: 31/08/2005, 21h19
  5. samples Atmel
    Par invite178930ab dans le forum Électronique
    Réponses: 4
    Dernier message: 04/07/2005, 10h49
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...