Nouvel assistant ; les addins Piper / Whisper / OpenWakeWorld ne sont pas proposés

Salut.

Je suis en train de suivre ce tuto :

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 :

image

Et pour la partie TTS, pas de Piper dans les choix :

image

Vous voyez ce qui cloche ?

Hello

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 :wink:
Pour le Wake Word, tu as aussi porcupine ou snowboy

@+

1 « J'aime »

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 ?

Vosk est beaucoup plus rapide et accurate que Whisper sur une machine « normale » et même sur un RPI4 ( n’est ce pas @WarC0zes et @Bob ? :wink: )

Je le conseille depuis que Mike de Nabu Casa en a fait un addon compatible wyoming.

C’est par ici :

rhasspy/hassio-addons: Add-ons for Home Assistant’s Hass.IO

1 « J'aime »

Je vais le tester.

Par contre, pour la synthèse vocale, les voix fournies avec Piper ne sont vraiment pas top !

La moins pire semble Siwis_medium.

Tu auras un conseil sur cette partie ?

Bonjour,
c’est ce que j’utilise et le moins mauvais des autres à mon gout.

1 « J'aime »

Je confirme @Krull56
Sur PI4B 4Go.

[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

Même conf que @WarC0zes mais voix siwis (medium)

Bob

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 ?

Un peu de tout :crazy_face:

  • ESP32
  • Voice Kit reaspeaker Lite (seeed studio)
  • Wyoming Satellite sur RPI3
  • Korvo V1
  • Assist Microphone ( Anker powerconf connecté sur mon hôte HA)
  • Mon smartphone ( sans wakeword)
1 « J'aime »

un Atom echo ( esp32 ) et un RPI3 avec un micro et HP en USB ( Wyoming Satellite ).

1 « J'aime »

Un micro INMP441 sur des ESP32 + ampli Max98357A + HP.
Bob

Et un ampli Denon pour le Gros son :joy:

2 « J'aime »

Petit déterrage / update de post

J’ai acheté un RPi 4 avec une carte ReSpeaker 2 et une enceinte.

J’ai suivi ce tuto pour créer un satellite Wyoming :

Et j’ai sauté l’étape Audio Enhancements mais j’ai fait l’étape suivante et mettant ok_jarvis et non ok_nabu

Le test de record / playback est fonctionnel sur le RPi

J’ai donc mon assistant de configuré :

Et le satellite Wyoming est OK, me semble-t-il :

Mais quand je dis ‹ Ok Jarvis Allume le lampadaire › il ne se passe rien

L’entité est bien exposée pourtant :

J’ai dû louper une étape :sweat_smile:

Salut,
regarde en mode debug, voir si tu n’aurais pas des informations.

J’ai compris mon erreur en regardant cette vidéo (à 13:53) :

J’ai mal compris le tuto et j’ai remplacé la ligne de commande au lieu d’ajouter juste les paramètres pour le wake word !!

Je corrige ça demain matin.

1 « J'aime »

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 :

Alors qu’il a ce statut dans la vidéo YouTube :

En ajoutant la partie pour avoir la LED en notification quand le satellite est activé, écoute puis répond, ça marche.

Enfin, marche est un bien grand mot.

Le mot d’activation ‹ Hey Jarvis › est rarement détecté, je suis pourtant à 1m du satellite.
Et ensuite, il ne comprend rien.

A la phrase « Allume le bureau », il comprend « mon bureau » et le coup d’après « bonjour »

J’ai tenté d’être plus explicite avec « Allume la lumière du bureau » et il comprend « Allume la lumière du jour »

Voici les entités exposés avec le terme Bureau :

Faut que je fasse un alias sur ‹ Inter Bureau › pour qu’il comprenne ? Faut que je mette quoi dans l’alias ?

J’ai vu dans cet autre sujet que tu tournais avec Porcupine :

Mais je me demande comment tu arrives à avoir cet écran de configuration de Wyoming.

Et Porcupine s’installe comme addon sur HA mais aussi sur le satellite ? En remplacement de openWakeWorld alors.

Tu dis qu’il est déjà installé avec rhasspy. Je dois installer le .deb sur mon Raspberry ?

https://rhasspy.readthedocs.io/en/latest/installation/#debian

J’ai utilisé, c’est installation :

Pour accéder au menu, je tape dans le terminal du RPI3 :

cd wyoming-satellite/
python3 -m installer

image
image

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 :sweat_smile: