[Tuto] Configurer un micro USB à votre Raspberry Pi

Tags: Tutoriel Raspberry Pi


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 lecture
Alsamixer en mode capture
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


Les trackers publicitaires ont-ils vraiment été supprimés du site de «Libé» pour les abonnés ? - Libération

Mon dieu ... Mensonges et mauvaise foi, le quotidien de Libération ?? Ils essaient de faire la distinction entre trackers (publicitaires) et trackers (d'analyse) ... Il faut arrêter le mensonge et avouer qu'on laisse des trackers, mais ne pas essaye…

via Shaarli le 15 novembre 2019

Trackers first-party

Un excellent article. J'ai suivi le sujet via son compte Twitter, ici on a un résumé propre et clair.

via Shaarli le 15 novembre 2019

L’intelligence artificielle, le grand malentendu

« On a commencé à fantasmer sur le mot, constate Luc Julia, sur l’idée qu’on pourrait créer quelque chose proche de nous qui nous remplacerait, voire nous contrôler. Alors que c’est l’inverse : c’est nous qui contrôlons l’IA ! Cette IA dont on parle à lon…

via Shaarli le 13 novembre 2019

Généré avec openring