Languages

On a du son!

Myriam écoute le son préamplifié

Le plan "B" me laisse donc avec le défi de tout faire "à la main" ce que le ISD4003 faisait pour nous. Heureusement, si ça marche, on aura en plus accès directement aux clips sonores enregistrés, avec possibilité, par exemple, d'ajouter des effets sonores. En effet, avec le plan "ISD4003" (bref, notre plan "A" qui ne marche pas) le Arduino pouvait seulement envoyer des commandes telles que ENREGISTRER ou JOUER. Alors que dans le plan "B", le son transitera par le Arduino qui aura donc un contrôle total.

Le circuit final du plan "B" se compose des éléments suivants:

  • Entrée sonore (*): Microphone préamplifié (avec un opamp tel que le LM386)
  • Enregistrement: Mémoire externe flash (AT45DB161D)
  • Sortie sonore (*): DAC (digital-analog converter)

(*) Note au sujet du DAC/ADC: Par défaut, le Arduino a une résolution de 10 bits pour son entrée (ADC) mais seulement 8 bits pour sa sortie (PWM). Il faudrait donc utiliser une composante externe si on ne veut pas trop sonner "cacane". Il semble que le Arduino lui-même puisse générer un PWM de plus haute résolution mais au prix d'une fréquence moins élevée. Heureusement, j'ai trouvé un lien qui explique comment avoir du son 16 bits (!) en combinant deux sorties PWM avec ... deux résistances! Voir ce lien pour les détails. D'après Mériol, avec 12 bits nous aurions du son pas pire. À noter que le ISD4003 faisait du 11 bits et que sur le Arduino, nous sommes de toute façon limités par les 10 bits de notre ADC ... si on veut plus il faudrait probablement utiliser une composante externe.

Mes tests de mercredi matin avec le dataflash AT45DB161D ayant réglé pour le moment la question de l'enregistrement, j'ai passé la journée de jeudi à travailler sur l'amplification du microphone. J'ai testé à peu près toutes les configurations possibles avec le LM386 et j'ai finalement trouvé un circuit qui fonctionne. Pour le moment, le son capté par le micro est relié au LM386 qui l'amplifie 200 fois et le renvoie directement à une sortie analogue: un haut-parleur. Le résultat est très satisfaisant pour le moment, malgré qu'il y ait un certain bruit de fond.

Reste à ploguer ça dans l'entrée analogue du Arduino...

Quelques notes:

  • Le circuit est pour un microphone de type "electret"
  • La résistance variable à côté du microphone contrôle le volume
  • Le microphone doit être placé dans un réceptacle (j'ai utilisé un verre de styromousse), cela augmente sa réception de manière significative
Le plan "B" me laisse donc avec le défi de tout faire "à la main" ce que le ISD4003 faisait pour nous. Heureusement, si ça marche, on aura en plus accès directement aux clips sonores enregistrés, avec possibilité, par exemple, d'ajouter des effets sonores. En effet, avec le plan "ISD4003" (bref, notre plan "A" qui ne marche pas) le Arduino pouvait seulement envoyer des commandes telles que ENREGISTRER ou JOUER. Alors que dans le plan "B", le son transitera par le Arduino qui aura donc un contrôle total.Le circuit final du plan "B" se compose des éléments suivants:

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <h3> <h4> <h5> <h6>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Fill in the blank
By submitting this form, you accept the Mollom privacy policy.