[läuft soweit] - Rhasspy ohne Zusatzhardware

Begonnen von Beta-User, 19 März 2021, 08:29:01

Vorheriges Thema - Nächstes Thema

Beta-User

Danke für den Schubs!

In der systemd-file war die Kurzform, aber da brauchte es noch etwas mehr. So scheint es jetzt zu laufen:
[Unit]
Description=Rhasspy Service
After=syslog.target network.target mosquitto.service

[Service]
Type=simple
#ExecStart=/bin/bash -o pipefail -c '{ /usr/bin/rhasspy --profile de --user-profiles /opt/rhasspy/profiles --local-mqtt-port 1884 2>&1
| cat >&2 3>&-; } 3>&1'
ExecStart=/usr/bin/rhasspy --profile de --user-profiles /opt/rhasspy/profiles --local-mqtt-port 1884
WorkingDirectory=/opt/rhasspy
User=rhasspy
Group=audio
RestartSec=1
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rhasspy

[Install]
WantedBy=multi-user.target

(user rhasspy muss angelegt sein, s.o.).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

JensS

Gefällt mir - getrennt vom User.
Zitat/opt/rhasspy/profiles
müsste dann zuvor per Hand angelegt werden?
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Beta-User

Hatte nur /opt/rhasspy angelegt - also eine Art "home" für rhasspy. Die Unterverzeichnisse werden dann - soweit ich das bisher beurteilen kann - automatisch angelegt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

...erst mal zu früh gefreut; die Zusatzdienste kommen nicht hoch:
sudo systemctl status rhasspy
[sudo] Passwort für joerg: 
● rhasspy.service - Rhasspy Service
   Loaded: loaded (/etc/systemd/system/rhasspy.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-03-28 13:21:50 CEST; 23s ago
Main PID: 1058 (rhasspy)
    Tasks: 5 (limit: 4011)
   Memory: 85.8M
   CGroup: /system.slice/rhasspy.service
           ├─1058 /bin/bash /usr/bin/rhasspy --profile de --user-profiles /opt/rhasspy/profiles --local-mqtt-port 1884
           ├─4893 python3 -m rhasspyserver_hermes --profile de --user-profiles /opt/rhasspy/profiles --web-dir /usr/lib/rhasspy/rhasspy-server-hermes/web --local-mqtt-port 1884
           └─4894 /usr/bin/python2 /usr/bin/supervisord --configuration /opt/rhasspy/profiles/de/supervisord.conf --logfile /opt/rhasspy/profiles/de/supervisord.log --pidfile /opt/rhasspy/pro

Mär 28 13:22:10 hpthin2 rhasspy[1058]: 2021-03-28 13:22:10,557 INFO spawnerr: unknown error making dispatchers for 'speech_to_text': ENXIO
Mär 28 13:22:10 hpthin2 rhasspy[1058]: 2021-03-28 13:22:10,560 INFO spawnerr: unknown error making dispatchers for 'text_to_speech': ENXIO
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,572 INFO spawnerr: unknown error making dispatchers for 'intent_recognition': ENXIO
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,574 INFO gave up: intent_recognition entered FATAL state, too many start retries too quickly
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,576 INFO spawnerr: unknown error making dispatchers for 'dialogue': ENXIO
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,576 INFO gave up: dialogue entered FATAL state, too many start retries too quickly
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,590 INFO spawnerr: unknown error making dispatchers for 'speech_to_text': ENXIO
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,591 INFO gave up: speech_to_text entered FATAL state, too many start retries too quickly
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,593 INFO spawnerr: unknown error making dispatchers for 'text_to_speech': ENXIO
Mär 28 13:22:13 hpthin2 rhasspy[1058]: 2021-03-28 13:22:13,594 INFO gave up: text_to_speech entered FATAL state, too many start retries too quickly


Werde das zu gegebener Zeit wieder aufgreifen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

JensS

#19
--local-mqtt-port 1884 bezieht sich auf den "internen" MQTT von Rhasspy. Hast du bereits einen Mosquitto auf dem Port?
Wie sieht es als root aus, wenn man Rhasspy mit den Argumenten auf der Konsole startet?

p.s.
RestartSec=1 würde ich zu Sicherheit auf 30 stellen.
WorkingDirectory=/opt/rhasspy - wirklich? Kann das auf /usr/bin oder lieber ganz weg?
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Beta-User

Hm, also jetzt scheint es zu laufen. Das Problem schien zu sein, dass Python/supervisord keine Berechtigung für bestimmte Verzeichnisse (für logausgaben etc) zu haben schien:
[Unit]
Description=Rhasspy Service
After=syslog.target network.target mosquitto.service

[Service]
Type=simple
# for command, see https://github.com/rhasspy/rhasspy/issues/42#issuecomment-711472505
ExecStart=/bin/bash -c 'rhasspy -p de --user-profiles /opt/rhasspy/profiles 2>&1 | cat'
WorkingDirectory=/opt/rhasspy
User=rhasspy
Group=audio
RestartSec=10
Restart=on-failure
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rhasspy

[Install]
WantedBy=multi-user.target

Kann nicht sagen, ob das jetzt schon optimal ist, aber es scheint erst mal zu funktionieren.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Mal ein update zum Thema:

Der service läuft, die Rechte auf /opt/rhasspy liegen auf rhasspy:rhasspy mit 744.

Habe jetzt mal hin und wieder mit top geschaut, was das so an load verursacht => meistens "nichts". Aber es gab auch Fälle, in denen es um die 100% load waren?!? Ursache war vermutlich eine falsche Einstellung an der Android-App (Silence Detection sollte m.E. aktiviert sein), aber sicher bin ich mir da nicht.

Ansonsten habe ich es nochmal versucht, die Hotword-Aktivierung mit snowboy zum Laufen zu bringen. Bis dato ohne Erfolg. Habe zwei Modelle (umdl) ins snowboy-dir gelegt, Rechte passen, nach dem "refresh" sehe ich beide dann sogar doppelt? Habe daher auch mal "subex" aktiviert, aber selbes Ergebnis: irgendwas passt nicht.

Wäre daher dankbar, wenn jemand zeigen könnte, welche Einstellungen an beiden Enden zum Erfolg führen. Das ist der aktuelle Stand der Dinge:
App: Wake word - Schieber ist aktiviert, Host steht auf dem FHEM-Server, Port 12199 (Zum Testen dann "Start wake word")
Das Handy lässt sich mit Namen (vom FHEM-Server aus) pingen, in Rhasspy ist dann unter UDP Audio (Input) angegeben: mobile1:12199:mobile1
Kann eigentlich nichts großes sein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

laberlaib

Ich häng mich hier mal mit rein.

Snowboy hatte ich genutzt um zwei Wakewords zu konfigurieren. Dazu muss (soll?) man auch die umdls in einen Unterordner des Profils kopieren und dann erscheinen die doppelt: Einmal im "generischen" Verzeichnis(usr/lib/rhasspy oder so) und eben einmal die aus dem Profilverzeichnis.
Beste Leistung erzielte ich mit "Alexa" was man aber wohl noch von deren Githubaccount runterladen muss. Also da wo es auch die PoC-App gibt.
https://github.com/Kitt-AI/snowboy#pretrained-universal-models
da stehen auch die Einstellungen.
Snowboy war mittel, Jarvis immer nur false-positive.

Porcupine war auch gut, wenn man mal raus hatte, wie man das aussprechen muss. Also eigentlich nix, wenn man noch andere mögliche Probleme hat.

Zum debuggen starte ich Rhasspy immer von Hand und nicht als Service/im Hintergrund. Dann sieht man eigentlich ganz gut, was passiert. dann sollte man eigentlich auch sehen, ob es einen UDP-Flow hin gibt (ich hab das noch nie genutzt und kanns auch gerade nicht weiter testen).

Last: Es gibt bei mir Fälle, wo Rhasspy hängen bleibt und 102% Systemlast der VM zieht. Dann fängt mein Server an zu brummen. Ich starte dann im Zweifel die VM neu, was natürlich doof ist, wenn das Ding parallel zu FHEM läuft.
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

Beta-User

Hmm, "alexa" habe ich jetzt auch mal runtergeladen und 0.6/true eingestellt, da tut sich nichts...
(Aussprache ist klar, das ist auch in die "Demo-App" einkompiliert). Aber immerhin scheinen meine sonstigen Angaben zu passen?

Den service als service neu zu starten, hat in den fragelichen Fällen ganz gut geklappt, die Frage wäre dann eher, wie man den Zustand erkennen und das automatisieren kann...

Was das mit dem debuggen angeht, will ich   den FHEM-Server eigentlich "sauberhalten"; dann muss ich mir dazu ggf. dann doch nochmal das Zweitsystem hernehmen (=> kommt wieder auf die low prio-Liste).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

JensS

#24
Zitat von: Beta-User am 06 April 2021, 18:12:50Ansonsten habe ich es nochmal versucht, die Hotword-Aktivierung mit snowboy zum Laufen zu bringen.
Bei mir funktioniert es. Wie sieht deine profile.json aus?

Gruß Jens

p.s. https://forum.fhem.de/index.php/topic,113180.msg1132773.html#msg1132773 ff.
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

drhirn

Kann mir jemand von euch die APK zur Verfügung stellen? Dann probiere ich das auch mal aus.

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

drhirn

Ups, das habe ich übersehen.

Danke!

drhirn

#28
Gut, läuft. Wie das mit dem Wakeword aber gehen soll, ist mir nicht ganz klar.

Funktioniert auch (mit Porcupine).

Wie kann ich helfen? ;)

Beta-User

Zitat von: drhirn am 08 April 2021, 11:50:02
Funktioniert auch (mit Porcupine).

Wie kann ich helfen? ;)

Vielleicht für den Anfang mit dem betreffenden Auszug aus dem profile.json für den Porcupine-Teil und den "richtigen" Angaben zu UDP...?
Zitat von: Beta-User am 06 April 2021, 18:12:50
Wäre daher dankbar, wenn jemand zeigen könnte, welche Einstellungen an beiden Enden zum Erfolg führen. Das ist der aktuelle Stand der Dinge:
App: Wake word - Schieber ist aktiviert, Host steht auf dem FHEM-Server, Port 12199 (Zum Testen dann "Start wake word")
Das Handy lässt sich mit Namen (vom FHEM-Server aus) pingen, in Rhasspy ist dann unter UDP Audio (Input) angegeben: mobile1:12199:mobile1
Kann eigentlich nichts großes sein...

Ansonsten freut es mich, dass das Problem eher hier vor dem Bildschirm sitzt denn ein generelles ist... ;D
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files