J’ai donc installé et démarré les addins Piper, Whisper et OpenWakeWorld :
Log de Piper :
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service piper: starting
s6-rc: info: service piper successfully started
s6-rc: info: service discovery: starting
Log de Whisper :
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service whisper: starting
s6-rc: info: service whisper successfully started
s6-rc: info: service discovery: starting
J’ai aussi redémarré complètement HA pour être sur mais quand je veux configurer un assistant, je n’ai aucun choix pour la partie STT :
Et pour la partie TTS, pas de Piper dans les choix :
Une fois les addons installés, et ton HA redémarré avec l’option « Redémarrer le système » , dans appareils et services tu devrais avoir des découvertes wyoming qui sont à activer.
Au passage, je te conseille d’utiliser Vosk et non Whisper
Pour le Wake Word, tu as aussi porcupine ou snowboy
Merci ! Effectivement, dans la vidéo, il parle de Wyoming mais il déclare des @ IPs et des ports TCP et je pensais que c’était à faire quand les addons Piper / Whisper / OpenWakeWorld étaient installés sur une autre machine.
Du coup, Vosk est mieux que Whisper pour le SST ? Il comprend mieux le français ?
[13:01:39][D][voice_assistant:793]: Starting STT by VAD
[13:01:42][D][voice_assistant:637]: Event Type: 12
[13:01:42][D][voice_assistant:797]: STT by VAD end
[13:01:42][D][voice_assistant:514]: State changed from STREAMING_MICROPHONE to STOP_MICROPHONE
[13:01:42][D][voice_assistant:520]: Desired state set to AWAITING_RESPONSE
[13:01:42][D][voice_assistant:514]: State changed from STOP_MICROPHONE to STOPPING_MICROPHONE
[13:01:42][D][voice_assistant:637]: Event Type: 4
[13:01:42][D][voice_assistant:665]: Speech recognised as: "allume la lumière de la cuisine"
[13:01:42][D][voice_assistant:514]: State changed from STOPPING_MICROPHONE to AWAITING_RESPONSE
[13:01:42][D][voice_assistant:637]: Event Type: 5
[13:01:42][D][voice_assistant:670]: Intent started
[13:01:42][D][voice_assistant:637]: Event Type: 6
[13:01:42][D][voice_assistant:637]: Event Type: 7
[13:01:42][D][voice_assistant:693]: Response: "La lumière de la cuisine est allumée"
[13:01:42][D][voice_assistant:637]: Event Type: 8
[13:01:42][D][voice_assistant:715]: Response URL: "http://192.168.1.32:8123/api/tts_proxy/0f8bd4228227a09a722d62af1f8cd223b7f0494d_fr-fr_1e55c50379_tts.piper.mp3"
[13:01:42][D][voice_assistant:514]: State changed from AWAITING_RESPONSE to STREAMING_RESPONSE
[13:01:42][D][voice_assistant:520]: Desired state set to STREAMING_RESPONSE
[13:01:42][D][media_player:061]: 'media_sat2' - Setting
[13:01:42][D][media_player:068]: Media URL: http://192.168.1.32:8123/api/tts_proxy/0f8bd4228227a09a722d62af1f8cd223b7f0494d_fr-fr_1e55c50379_tts.piper.mp3
[13:01:42][D][media_player:074]: Announcement: yes
Bon, je suis bloqué car je pensais que mon enceinte Google pouvait être utilisée comme micro également mais dans le tuto, il s’en sert uniquement en sortie et le micro pour donner des ordres provient d’une caméra.
Vous utilisez quoi comme device pour donner des ordres à HA ? Une RPi avec micro ? Un ESP32 avec micro ?
Je suis repartis d’un RPi, vierge, tout est ok pour le satellite, les 2 services sont bien démarrés :
● wyoming-satellite.service - Wyoming Satellite
Loaded: loaded (/etc/systemd/system/wyoming-satellite.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-11-23 11:54:23 CET; 18s ago
Main PID: 2675 (python3)
Tasks: 4 (limit: 1575)
CPU: 838ms
CGroup: /system.slice/wyoming-satellite.service
├─2675 python3 /home/satellite/wyoming-satellite/script/run --name SatSejour --uri tcp://0.0.0.0:10700 --mic-command "arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw" --snd-command "aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S1>
├─2677 /home/satellite/wyoming-satellite/.venv/bin/python3 -m wyoming_satellite --name SatSejour --uri tcp://0.0.0.0:10700 --mic-command "arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw" --snd-command "aplay -D plughw:CARD=seeed2micvoicec,DEV=0>
└─2679 arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 16000 -c 1 -f S16_LE -t raw
Nov 23 11:54:23 rpisatellite systemd[1]: Started wyoming-satellite.service - Wyoming Satellite.
Nov 23 11:54:23 rpisatellite run[2677]: INFO:root:Ready
Nov 23 11:54:24 rpisatellite run[2677]: INFO:root:Connected to services
Nov 23 11:54:24 rpisatellite run[2679]: Recording raw data 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
● wyoming-openwakeword.service - Wyoming openWakeWord
Loaded: loaded (/etc/systemd/system/wyoming-openwakeword.service; disabled; preset: enabled)
Active: active (running) since Sat 2024-11-23 11:49:04 CET; 5min ago
Main PID: 2602 (python3)
Tasks: 11 (limit: 1575)
CPU: 45.291s
CGroup: /system.slice/wyoming-openwakeword.service
├─2602 python3 /home/satellite/wyoming-openwakeword/script/run --uri tcp://127.0.0.1:10400
└─2604 /home/satellite/wyoming-openwakeword/.venv/bin/python3 -m wyoming_openwakeword --uri tcp://127.0.0.1:10400
Nov 23 11:49:04 rpisatellite systemd[1]: Started wyoming-openwakeword.service - Wyoming openWakeWord.
Nov 23 11:49:05 rpisatellite run[2604]: INFO:root:Ready
Nov 23 11:49:05 rpisatellite run[2604]: INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Le satellite est bien détecté par HA et il est ajouté
Mais rien ne se passe quand je veux interagir avec le mot ‹ Hey Jarvis ›, rien dans la log de l’assistant et le truc bizarre dans le satellite, c’est que le sensor nest pas OFF ou ON :
Dans le tuto, il parle de micro et speaker en USB donc ma carte ReSpeaker ne servirait plus à rien ?
Avec une installation de ce type, je pourrais avoir Porcupine comme détecteur de Wake word mais ensuite, c’est toujours Vosk qui va essayer de comprendre ce que je dis. Et pour l’instant, il n’est vraiment pas doué.
Car si je comprend bien, c’est le satellite qui capture l’audio et l’envoi à mon HA pour sur le Speack To Text décode ma phrase.
En payant l’abo Nabu Casa, c’est mes enceinte Google qui pourraient servir de satellite ?Ca doit etre bien plus propre et responsive que nos bricolages.
Car si je dis à ma femme qu’elle doit parler à 50 cm du RPi, articuler comme à un cours de diction et essayer 10 fois pour espérer se faire comprendre, ça va pas le faire