Installation de snips sur raspberry

Configuration audio

ReSpeaker 2 mics

On va donc se charger d’installer les drivers de notre carte son. Pour cela, on va utiliser un outil qui s’appelle « git ». « git » va nous permettre de récupérer tous les fichiers dont on a besoin pour installer les drivers.

$ sudo apt-get install git
$ cd
$ git clone https://github.com/respeaker/seeed-voicecard.git

Normalement, tu devrais obtenir ceci :

pi@raspberrypi:~ $ git clone https://github.com/respeaker/seeed-voicecard.git
Clonage dans 'seeed-voicecard'...
remote: Enumerating objects: 20, done.
remote: Counting objects: 100% (20/20), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 637 (delta 8), reused 17 (delta 7), pack-reused 617
Réception d'objets: 100% (637/637), 1.29 MiB | 406.00 KiB/s, fait.
Résolution des deltas: 100% (391/391), fait.
pi@raspberrypi:~ $

La réception à 100% est bon signe. Nous allons donc entrer dans le répertoire fraîchement téléchargé

$ cd seeed-voicecard

Puis juste lancer l’installation

$ sudo ./install.sh

s’ensuit tout un tas de lignes diverses et variées d’installation de prérequis tout ça tout ça, nous ne rentrerons pas dans les détails.

Voilà à quoi devrait ressembler la fin :

7 files changed, 1476 insertions(+)
 create mode 100644 ac108_6mic.state
 create mode 100644 ac108_asound.state
 create mode 100644 asound_2mic.conf
 create mode 100644 asound_4mic.conf
 create mode 100644 asound_6mic.conf
 create mode 100644 dkms.conf
 create mode 100644 wm8960_asound.state
Created symlink /etc/systemd/system/sysinit.target.wants/seeed-voicecard.service → /lib/systemd/system/seeed-voicecard.service.
------------------------------------------------------
Please reboot your raspberry pi to apply all settings
Enjoy!
------------------------------------------------------
pi@raspberrypi:~/seeed-voicecard $

Une fois l’installation terminée, on redémarre donc le raspberry pour que notre ReSpeaker soit pris en compte.

$ sudo reboot

Une fois reconnecté, on peut vérifier que tous les drivers ont été correctement vus par le raspberry avec la commande lsmod :

pi@raspberrypi:~ $ lsmod | grep seeed
snd_soc_seeed_voicecard    16384  1 snd_soc_ac108
snd_soc_simple_card_utils    16384  2 snd_soc_seeed_voicecard,snd_soc_simple_card
snd_soc_core          188416  6 snd_soc_seeed_voicecard,snd_soc_simple_card_utils,snd_soc_bcm2835_i2s,snd_soc_ac108,snd_soc_wm8960,snd_soc_simple_card
pi@raspberrypi:~ $

La sortie audio (haut parleur USB)

Alsa est le logiciel qui gère le son. On va donc utiliser ses outils pour s’assurer que l’on voit bien le micro et notre haut parleur usb. Commençons par le haut parleur USB avec la commande « sudo aplay -l » (L en minuscule pour list) :

pi@raspberrypi:~ $ 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: 7/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
carte 1: Device [USB2.0 Device], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
carte 2: seeed2micvoicec [seeed-2mic-voicecard], périphérique 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

pi@raspberrypi:~ $

oula oula !!! Qu’est-ce qu’il nous raconte là ? On va détailler un peu cette réponse

Déjà on peut distinguer 3 cartes :

carte 0: ALSA [bcm2835 ALSA], périphérique 0: bcm2835 ALSA [bcm2835 ALSA]
carte 0: ALSA [bcm2835 ALSA], périphérique 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]

carte 1: Device [USB2.0 Device], périphérique 0: USB Audio [USB Audio]

carte 2: seeed2micvoicec [seeed-2mic-voicecard], périphérique 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []

La carte 0 est tout simplement la carte audio du raspberry. Néanmoins elle n’est pas équipée de micro.

La carte 1 est notre haut parleur USB. C’est donc bon signe, il est bien vu.

La carte 2 est notre carte d’extension audio ReSpeaker qui est équipée de sorties audios.

L’entrée audio (le micro)

Notre carte ReSpeaker est équipée de 2 petits micros de part et d’autre de la carte. Voyons si ils sont bien présents à l’aide de la commande « arecord -l » (avec un L en minuscule pour list) :

pi@raspberrypi:~ $ arecord -l
**** Liste des Périphériques Matériels CAPTURE ****
carte 2: seeed2micvoicec [seeed-2mic-voicecard], périphérique 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 []
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
pi@raspberrypi:~ $

Notre carte 2 (le ReSpeaker) est bien équipée d’une entrée de type « Capture »

La configuration de l’audio

Maintenant, nous allons modifier un fichier qui gère le son. En effet, en installant les outils seeed, celui-ci a modifié notre asound.conf pour lui dire que la sortie du son devrait se faire via les sorties sons de notre ReSpeaker. Or, nous avons des hauts parleurs en USB.

Nous allons modifier ce fichier en tapant :

$ sudo nano /etc/asound.conf

Supprime tout ce qu’il y a dedans pour écrire ce qu’il y a ci-dessous :

pcm.!default {
   type asym
   playback.pcm {
   type plug
   slave.pcm "hw:1,0"
   }
   capture.pcm {
   type plug
   slave.pcm "hw:2,0"
   }
}

Dans la partie playback, on lui dit d’utiliser la carte 1 et sous périphérique 0. Si tu te souviens bien, ça colle avec ce qu’on a vu plus haut.
Dans la partie « Capture », on lui dit d’utiliser la carte 2 et sous périphérique 0.

Bon, on ne va pas se voiler la face, notre asound.conf pourrait être plus optimisé, mais ce n’est pas notre problème du moment.

Maintenant que tu as fait ça, nous allons tester le son.

$ aplay /usr/share/sounds/alsa/Front_Right.wav

Si tu entends une petite voix qui te dit « Front Right », alors c’est un premier pas vers la victoire, cela veut dire que tu as du son en sortie 🙂

Maintenant on va tester le micro

$ arecord toto.wav

Baragouine la phrase que tu veux (tant que ça dure au moins 5 secondes) puis fais un CTRL+C (appuie en même temps sur la touche CTRL et la touche C). Tu devrais avoir ceci :

pi@raspberrypi:~ $ arecord toto.wav
Capture WAVE 'toto.wav' : Unsigned 8 bit, Fréquence 8000 Hz, Mono
^CInterrompu par le signal Interrompre...
pi@raspberrypi:~ $

Il ne reste plus qu’à rejouer le son que tu viens d’enregistrer pour s’assurer que ça fonctionne :

$ aplay toto.wav

Ta douce voix devrait sortir de façon nasillarde du haut parleur USB 🙂

Gestion du volume en lecture et enregistrement

Il y a un petit outil en mode texte qui va nous permettre de régler le volume des haut parleurs en sortie et du micro en entrée, c’est « alsamixer »

$ alsamixer
Alsmamixer

Comme on arrive sur la carte son du raspberry, on va faire « F6 »

Sélection de la carte son

puis sélectionner notre carte USB (en 1 dans l’image ci-dessus) puis taper « Entrée »

Alsa configuration haut parleur USB

Vérifie en haut à gauche que tu n’as pas eu les doigts palmés et que c’est bien notre haut parleur USB de sélectionné. Tu peux ensuite baisser et monter le son grâce aux flèches « haut » et « bas » de ton clavier.

Ensuite, pour le réglage du micro, on refait « F6 » sauf que cette fois ci, on sélectionne « seeed-2mic-voicecard »

Sélection du ReSpeaker

Par défaut, les canaux d’enregistrement sont cachés. Pour les afficher il faut faire F4, mais chez moi ça ferme alsamixer (bug avec putty). Dans ce cas, tu tapes « F5 » et tu verras les canaux en entrée et en sortie. Je te rappelle que sur la carte ReSpeaker, seuls les canaux en entrée (input) nous intéresse.

Modifier le niveau d’enregistrement

Il ne te reste plus qu’à naviguer avec les flèches « droite » et « gauche » du clavier pour sélectionner le canal que tu veux modifier et toujours « haut » et « bas » pour le réglage.

On finit avec un « sudo alsactl store » et on passe à l’installation de snips

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.