[Tutoriel] Configurer un micro USB à votre Raspberry Pi

Publié le 16 décembre 2018

Tutoriel Raspberry Pi

 Attention, cet article date de plus d'un an. Les informations qu'il contient sont peut-être obsolètes. 

Bonjour à tous,

Dans cet article, nous allons voir comment configurer un microphone et des écouteurs/enceintes USB à votre Raspberry Pi. C’est plutôt facile, mais beaucoup de tutoriels sur Internet sont bien trop compliqués par rapport à la simplicité de la tâche ! Le microphone que je vais utiliser dans cet article est un plutôt bas de gamme mais fonctionne pas mal. Cependant à ce prix, ne vous attendez pas à des miracles pour la réduction du bruit parasite par exemple.

Détection du microphone

Pour vérifier que votre Raspberry détecte bien votre microphone (ou vos écouteurs), je vous invite à le laisser débrancher et à effectuer la commande lsusb. Voici le résultat sur mon Raspberry quand le microphone n’est pas connecté:

[pofilo@RPI3:~]$ lsusb
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Et voici le résultat quand ce dernier est branché:

[pofilo@RPI3:~]$ lsusb
Bus 001 Device 013: ID 0556:0002 Asahi Kasei Microsystems Co., Ltd 
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

On le retrouve donc à la première ligne. Dans mon cas, le nom du fabricant est Asahi Kasei.

Récupération des identifiants des périphériques

Lister les périphériques de lecture

Cette étape va permettre de trouver le numéro de la carte (card number) de vos écouteurs/enceintes et son identifiant (device number). La commande à effectuer est aplay -l (-l pour list-devices).

[pofilo@RPI3:~]$ aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: ALSA [bcm2835 ALSA], périphérique 0: bcm2835 ALSA [bcm2835 ALSA]
  Sous-périphériques: 6/7
  Sous-périphérique #0: subdevice #0
  Sous-périphérique #1: subdevice #1
  Sous-périphérique #2: subdevice #2
  Sous-périphérique #3: subdevice #3
  Sous-périphérique #4: subdevice #4
  Sous-périphérique #5: subdevice #5
  Sous-périphérique #6: subdevice #6
carte 0: ALSA [bcm2835 ALSA], périphérique 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

Les informations importantes à noter à ce stade sont (avec mon exemple):

carte 0: ALSA [bcm2835 ALSA], périphérique 0: bcm2835 ALSA [bcm2835 ALSA]

Ou bien l’équivalent en anglais selon la langue de votre Raspberry. Le premier concerne donc le numéro de la carte et le second l’identifiant du périphérique. On retrouve ici 2 cartes, la première concerne le port Jack de votre Raspberry (s’il en a un), et le deuxième le port HDMI. Je n’ai en effet pas branché d’écouteurs USB.

Voyons comment récupérer les informations similaires concernant votre microphone !

Lister les périphériques d’enregistrement

On va ici également chercher le numéro de carte et l’identifiant du périphérique. Pour cela, la commande sera arecord -l.

Avec mon microphone branché, j’obtiens:

**** Liste des Périphériques Matériels CAPTURE ****
carte 1: AK5371 [AK5371], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

Même principe que pour les périphériques de lecture, j’en déduis que le microphone utilise la carte 1 et que son identifiant de périphérique est 0. Je reconnais d’ailleurs la marque de mon microphone vu dans le premier paragraphe (Asahi Kasei ici sous la forme AK).

Maintenant que nous avons toutes les infos nécessaires, voyons comment configurer le Raspberry pour utiliser ces périphériques.

Configuration du Raspberry

Sur votre Raspberry, dans le home de votre utilisateur (cd ~ ou même encore cd), il faut créer un fichier caché nommé .asoundrc. Vous pouvez également créer un fichier /etc/asound.conf pour que la configuration soit par défaut commune à tous les utilisateurs du Raspberry.

Dans ce fichier, je vous invite à mettre ce contenu:

pcm.!default
{
    type asym
    capture.pcm "mic"
    playback.pcm "speaker"
}
pcm.mic
{
    type plug
    slave
    {
        pcm "hw:<card number>,<device number>"
    }
}
pcm.speaker
{
    type plug
    slave
    {
        pcm "hw:<card number>,<device number>"
    }
}

Il ne vous reste plus qu’à remplacer les variables entre chevrons par les informations récupérées précédemment (juste les chiffres, par exemple pcm "hw:1,0" pour mon microphone dans mon cas).

Tester la configuration

On commencera par tester la lecture. Ensuite, on essaiera d’enregistrer un petit test sur 5 secondes qu’on pourra ensuite lire afin de s’assurer que tout fonctionne !

Tester le périphérique de lecture

La commande speaker-test -t wav va nous permettre de jouer un enregistrement de test sur notre périphérique de lecture. Vous pouvez également tester la stéréo en rajoutant l’option -c 2 (pour configurer le nombre de canaux).

Tester le périphérique d’enregistrement

Pour enregistrer un fichier audio au format raw sur une durée de 5 secondes avec une fréquence d’échantillonnage de 48 kHz, je vous laisse utiliser la commande:

arecord --format=S16_LE --duration=5 --rate=48000 --file-type=raw out.raw

Bien sur, le manuel (man arecord) peut vous aider à configurer votre test comme vous le désirez ! Une fois la commande effectuée, il faudra donc lire le fichier out.raw.

On reprécise dans la commande la fréquence d’échantillonnage ainsi que le format du fichier à lire:

aplay --format=S16_LE --rate=48000 out.raw

Aller plus loin

La commande alsamixer va vous permettre de gérer un peu plus finement les paramètres de votre microphone ainsi que le volume de vos écouteurs.

Pour changer la carte son, appuyez sur F6, pour passer de la lecture à la capture, utilisez la touche F4 et F3 pour l’inverse.

Alsamixer en mode lecture Alsamixer en mode capture

Conclusion

Si vous avez un projet de domotique ou autre impliquant un Raspberry et un microphone ou des enceintes, vous voilà paré pour la suite !

Ceci sera vraisemblablement le dernier article de 2018, alors je vous souhaite par avance de joyeuses fêtes de fin d’année !

Commentaires




Ailleurs sur le Web


Home Screen Advantage - Infrequently Noted

A slide from Apple's presentation in Apple v. Epic, attempting to make the claim Epic could have just made a PWA if they didn't like the App Store terms because circa '20 Safari was so capable. LOL. Je n'aurai pas assez de popcorn pour le DM…

via Shaarli le 28 février 2024

800 employés de la poste britannique condamnés à tort à cause d’un logiciel défectueux - Next

En droit anglais et gallois, les ordinateurs sont considérés comme « fiables », sauf preuve du contraire, souligne The Guardian, ce qui « renverse la charge de la preuve normalement appliquée dans les affaires pénales ». Euh, ok !

via Shaarli le 15 janvier 2024

Mise en place et étude d'un Honey Pot SSH (Cowrie) | | Sécurité Informatique | IT-Connect (it-connect.fr) – wallabag

Article intéressant. C'est clairement dans la même démarche que mon article sur les phishing.

via Shaarli le 09 janvier 2024

Généré avec openring


Recettes de gourmands


Meringues

Pratique pour utiliser des blancs d'œufs, car les ingrédients sont au tant pour tant.

via cooking.pofilo.fr le 21 mars 2024

Risotto classique

Vraiment très simple mais le résultat est succulent.

via cooking.pofilo.fr le 28 février 2024

Pain italien

via cooking.pofilo.fr le 17 février 2024

Généré avec openring