Il est possible de jouer des sons à travers un haut-parleur avec un carte Arduino et un module de carte SD. La librairie TMRpcm.h permet de manipuler des fichiers audio mais ne lit pas tous les types de fichiers. Nous allons voir une méthode pour convertir ou créer des fichiers audio compatibles avec Arduino.
Logiciel Audacity
Pour convertir et créer des fichiers audio nous allons utiliser Audacity qui est un logiciel open-source qui permet l’enregistrement, l’édition et le montage de piste audio.
Téléchargez le logiciel à cette adresse et installez-le.
Sur l’interface graphique, les fonctions les plus intéressantes à connaitre sont :
- Boutons de la barre de tâche: lecture, pause, arrêt, saut au début, saut à la fin et enregistrer
- Dans le menu « Effet », les fonctions « Réduction de bruit… » pour réduire le bruit ambiant et « Changement de hauteur… » pour modifier le timbre d’une voix par exemple.
- Dans le menu « Pistes », les fonctions « Mix > Mix stéréo vers mono » et « Rééchantillonner »
- Et enfin, « Fichier > Exporter… », pour vous permettre de générer les fichiers Audio.
Créer ou modifier un fichier compatible avec Arduino
Ouvrir un fichier
Pour modifier un fichier existant (un fichier WAV téléchargé par exemple), il suffit d’ouvrir le fichier avec Audacity ou de le faire glisser dans l’interface, vous pouvez ensuite le manipuler comme bon vous semble.
Enregistrer une voix ou un son
Vous pouvez créer des voix pour votre robot en enregistrant votre propre voix et en la modifiant un peu si vous le désirez.
Pour enregistrer votre voix, cliquez sur le bouton « enregistrer ». Dites le mot ou la phrase que vous voulez enregistrer puis appuyer sur « stop ». La forme d’onde correspondant à votre voix devrait s’afficher.
Copier la piste avec les raccourcis clavier Ctrl+C et Ctrl+V pour garder une trace de l’enregistrement original.
Mixer stéréo vers mono
Arduino est capable de lire des fichier Mono, convertissez votre piste de stéréo vers mono.
Réduire le bruit ambiant
Pour plus de clarté, il est préférable de filtrer les bruits ambiants pour ne garder que la voix ou le son enregistré. Pour cela, sélectionnez une partie du fichier où il n’y a pas de voix (la zone doit être suffisamment large pour être représentative). Sélectionnez ensuite, dans le menu, l’effet « Réduction de bruit… ».
Dans la fenêtre, cliquez sur « prendre le profil de bruit ». Audacity a enregistré en mémoire le profil du bruit ambiant à atténuer. Double cliquez sur la piste afin de la sélectionner dans sa totalité.
Puis sélectionnez à nouveau l’effet Réduction de bruit et cliquez sur « valider ». Le bruit parasite autour de la voix a une amplitude réduite et s’entend moins lorsqu’on écoute la bande.
Vous pouvez répéter cette procédure jusqu’à ce que le niveau de bruit soit acceptable.
Rééchantillonner en 16kHz
Pour que la librairie TMRpcm puisse lire les fichiers audio, il est préférable de les échantillonner à 16000Hz. Dans « Piste », sélectionner « Rééchantillonner » puis dans la liste, la valeur « 16000 » et validez.
Exporter en WAV
Il faut ensuite exporter le fichier au bon format afin que la carte Arduino puisse le lire correctement. Dans « Fichier », sélectionnez « Exporter », puis « Exporter en WAV ». Sélectionnez « Autres formats non compressé » comme type puis « Unsigned 8bit PCM » comme encodage.
Il ne vous reste plus qu’à coller le fichier audio dans une carte SD pour pouvoir le jouer avec une carte Arduino ou autre. N’oubliez pas de changer le nom du fichier dans le code.
Applications
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie
J’adore vraiment vos matières.merci beaucoup vraiment. Mais j’ai une question vraiment. J’aimerais maintenant utiliser ce module dans un projet de reconnaissance vocale.mais je ne sais pas comment m’y prendre