ReSpeaker pour raspberry

Installation des drivers

On va donc se charger d’installer les drivers du respeaker. Pas d’inquiétude, c’est la même chose pour tous les respeaker cités en intro. Pour cela, on va utiliser un outil qui s’appelle « git ». Tu rencontreras cet outil un peu partout, car il permet de gérer les sources d’un projet dont le versioning, l’historique des modifications, la possibilité de travailler à plusieurs etc.

Si on vient d’une raspbian lite fraichement installée, alors n’oublie pas d’ajouter quelques outils pratiques pour l’avenir

sudo apt-get install python3 python3-dev python3-setuptools python3-pip python3-venv build-essential

On récupère les sources des drivers

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

Et le résultat :

pi@raspberrypi:~ $ git clone https://github.com/respeaker/seeed-voicecard.git
Clonage dans 'seeed-voicecard'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 710 (delta 8), reused 10 (delta 6), pack-reused 694
Réception d'objets: 100% (710/710), 1.31 MiB | 1.18 MiB/s, fait.
Résolution des deltas: 100% (442/442), 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 --compat-kernel

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. Va boire un café, ça va prendre un peu de temps 🙂

Voilà à quoi devrait ressembler la fin :

------------------------------------------------------
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          192512  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:~ $

Voilà, notre respeaker est installé. Ne reste plus qu’à le configurer.

Led du respeaker 2 mics Pi HAT

Ah, si, il y’a un petit souci. Au redémarrage du respeaker 2 mics Pi HAT, une led brille de mille feux en blanc et c’est très désagréable.

Si tu as la version lite de raspbian fraichement installée, n’oublie pas ceci

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

On récupère donc de quoi manipuler les leds du respeaker

sudo pip install spidev
git clone https://github.com/respeaker/mic_hat.git

Ce qui nous donne un truc dans ce style

pi@raspberrypi:~ $ git clone https://github.com/respeaker/mic_hat.git
Clonage dans 'mic_hat'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 52 (delta 0), reused 1 (delta 0), pack-reused 49
Dépaquetage des objets: 100% (52/52), fait.
pi@raspberrypi:~ $

Il nous reste plus qu’à lancer le script de test des leds

cd mic_hat
python pixels.py

Et on finit par un CTRL+C pour couper le tout, et voilà, la led est éteinte et le problème est résolu 🙂

23 Comments

  1. bonjour,
    J’ai Jeedom sur Raspberry, j’ai voulu installer les drivers. Depuis mon plugin Zwave est hs.

    Est ce que cette ligne : sudo apt-get install python3 python3-dev python3-setuptools python3-pip python3-venv build-essential
    peut être la source de mon conflit ?

    • Bonjour Adrien,

      Désolé du retard de la réponse (qui n’en sera pas une).
      Malheureusement, je n’utilise pas jeedom donc, je ne vais pas pouvoir t’aider. Mais de façon générale, je préfère toujours séparer les fonctionnalités. je te conseille d’avoir un Rhasspy sur un autre raspberry.
      Si tu ne peux pas alors essaye de regarder du côté des images dockers pour Rhasspy, ça évitera justement ce genre d’interactions désagréables 🙁

      Cédric

  2. Bonjour,

    Je viens de voir que tu as pris ma remarque en compte je suis bluffé, j’ai contribué à ton tuto merci à nouveau pour ton travaille.

    J’en profite également pour te dire
    Qu’il manque un « sudo », cela doit être ici
    nano /etc/pulse/client.conf
    Cela peut bloquer certains utilisateurs

    De mon côté je constate un bruit de fond constant, et le volume d’enregistrement au dela de 60 empêche la détection des fins de phrases. Je bloque sur ce problème que je semble être seul à constater.

    • Hello,

      Pour le bruit de fond, cela vient généralement d’un cable d’alimentation USB de mauvaise qualité qui provoque des interférences. Très dur de trouver un câble 5V 3A de bonne qualité et non un truc chinois tout pourri :/

      Ced

    • je viens de voir que sur Alsamixer, il y a indiqué en haut a gauche la valeur en Db, et le 0Db (donc sans gain) correspond à 18. Je viens de faire des tests et le bruit de fond est fortement atténué et la voix est beaucoup plus claire.

  3. Bonjour,

    Alsamixer perd la config à chaque redémarrage

    J’ai bien lancé
    Sudo Alsamixer
    Esc
    sudo Alsactl store

    au reboot, pas de restauration

    Une idée ?
    merci d’avance de ton support

    • ok touvé un workaround

      j’ai sauvé la config alsamixer
      sudo alsactl -f /var/lib/alsa/asound2.state store

      ajouté dans rc.local pour charger la config au démarrage
      sudo nano /etc/rc.local
      et ajouté (avant 0)
      alsactl -f /var/lib/alsa/asound2.state restore

      Merci de ton tuto

    • Salut Olivier,

      C’était la solution que j’allais te proposer car j’avais aussi remarqué que ça ne sauvegarder pas à tous les coups après le reboot.
      je vais donc en profiter pour mettre à jour l’article 😉

      Ced

  4. Bonjour
    tout d’abord merci pour le tuto
    lorsque je lance pulse audio j’ai le message suivant
    E: [pulseaudio] main.c: Échec lors du démarrage du démon.
    je ne sais pas ou chercher

    • Hello Michael,

      Essaye ceci pour avoir plus d’info :

      journalctl -n (number of lines)

      Cela devrait te retourner les n dernières lignes de log.

      Cédric

    • oct. 19 22:21:38 raspberrypi systemd[1096]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
      oct. 19 22:21:38 raspberrypi systemd[1096]: Stopped Sound Service.
      oct. 19 22:21:38 raspberrypi systemd[1096]: pulseaudio.service: Start request repeated too quickly.
      oct. 19 22:21:38 raspberrypi systemd[1096]: pulseaudio.service: Failed with result ‘exit-code’.
      oct. 19 22:21:38 raspberrypi systemd[1096]: Failed to start Sound Service.
      oct. 19 22:21:38 raspberrypi systemd[1096]: pulseaudio.socket: Failed with result ‘service-start-limit-hit’.
      oct. 19 22:21:48 raspberrypi dhcpcd[743]: eth0: Router Advertisement from fe80::26f5:a2ff:fe90
      oct. 19 22:21:48 raspberrypi dhcpcd[743]: wlan0: Router Advertisement from fe80::26f5:a2ff:fe90
      oct. 19 22:23:11 raspberrypi dhcpcd[743]: eth0: Router Advertisement from fe80::26f5:a2ff:fe90
      oct. 19 22:23:11 raspberrypi dhcpcd[743]: wlan0: Router Advertisement from fe80::26f5:a2ff:fe90:

    • SAlut,

      pour info le problème est résolu, je n’avais pas utiliser le bon OS (lite au lieu de full) il devait donc me manquer certain paquet

  5. Bonjour,
    Installation ReSpeaker
    J’ai bien du son en sortie mais impossible d’enregistrer
    arecord toto.wav
    ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM input
    arecord: main:828: erreur à l’ouverture audio: Aucun fichier ou dossier de ce type
    J’ai installer alsa-base et alsa-utils, mais rien n’y fait.

    Merci d’avance pour l’aide apportée
    Hervé

    • Bonjour Arthur,

      Lorsque tu fais arecord toto.wav, arecord va regarder dans le fichier asound.conf (ou asound.rc du profil) quel est le périphérique d’enregistrement par défaut.
      Lorsque tu mets -Dhw:1, tu lui donnes spécifiquement le périhpérique à utiliser. Dans ce cas là, le device 1 en HW direct.
      Je dirai donc que tu as certainement une mauvaise configuration au niveau du fichier asound.conf.

      Ced

  6. Bonjour ced,
    J’ai un ResPeaker 2 Mics Pi HAT est je n’arrive pas à utiliser les leds. J’ai pourtant bien suivi ton tuto pour l’installer mais quand j’execute le python j’ai toujours la même erreur :

    pi@raspberrypi:~/mic_hat $ python pixels.py
    Traceback (most recent call last):
    File « pixels.py », line 5, in
    import apa102
    File « /home/pi/mic_hat/apa102.py », line 8, in
    import spidev
    ImportError: No module named spidev

    Je ne sais vraiment pas quoi faire. Avant j’étais sur Snips est les leds fonctionnait et maintenant je suis sur kalliope (que je conseille à tout le monde, c’est open source) et impossible de les faires fonctionner.

    Help me ! Please ! ^^

    • Bonjour Arthur, je n’ai pas approuvé ton premier message car il était trop grand et je comptais le raccourcir, premier point, et 2eme point j’étais en train de regarder de mon côté 🙂
      Je viens de refaire la manip et chez moi ça fonctionne. J’ai bien vu dans ton précédent message (non approuvé) que tu avais lancé l’installation de spidev. C’est donc un peu étrange.
      Laisse moi regarder encore un peu de mon côté, et je vais revenir vers toi 🙂

      Cédric

Les commentaires sont fermés.