[läuft soweit] - Rhasspy ohne Zusatzhardware

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

Vorheriges Thema - Nächstes Thema

drhirn

Die Config meiner Docker-Base:

{
    "dialogue": {
        "satellite_site_ids": "wohnzimmer,küche,bad,mobile-app5",
        "system": "rhasspy"
    },
    "intent": {
        "satellite_site_ids": "wohnzimmer,küche,bad,mobile-app5",
        "system": "fsticuffs"
    },
    "microphone": {
        "pyaudio": {
            "udp_audio_port": "12202"
        }
    },
    "mqtt": {
        "enabled": ""
    },
    "sounds": {
        "error": "${RHASSPY_PROFILE_DIR}/error.wav",
        "recorded": "${RHASSPY_PROFILE_DIR}/end_of_input.wav",
        "wake": "${RHASSPY_PROFILE_DIR}/start_of_input.wav"
    },
    "speech_to_text": {
        "satellite_site_ids": "wohnzimmer,küche,bad,mobile-app5",
        "system": "kaldi"
    },
    "text_to_speech": {
        "satellite_site_ids": "wohnzimmer,küche,bad,mobile-app5",
        "system": "nanotts"
    },
    "wake": {
        "porcupine": {
            "udp_audio": "172.19.0.3:12202:mobile-app5"
        },
        "raven": {
            "keywords": {
                "default": {
                    "enabled": true
                }
            },
            "udp_audio": "12202"
        },
        "satellite_site_ids": "wohnzimmer,küche,bad,mobile-app5",
        "system": "porcupine"
    }
}


172.19.0.3 ist die Docker-IP des Containers. Bei dir muss es halt die IP des Servers sein, auf dem Rhasspy läuft.

Und im Anhang zwei Screenshots von der Konfiguration der App. 10.168.1.1 ist die IP meines Docker-Hosts. Muss bei dir ebenfalls die IP des Servers sein.

drhirn

Zitat von: Beta-User am 06 April 2021, 18:12:50
in Rhasspy ist dann unter UDP Audio (Input) angegeben: mobile1:12199:mobile1

Ah. Seh ich erst jetzt, weil ich erst jetzt weiß, wie's funktioniert. Das erste mobile1 in dem Fall durch die Server-IP ersetzen. Das sollte es gewesen sein.

Beta-User

...dann werde ich es also mal mit "localhost" versuchen und pyaudio aktivieren...
Rückmeldung folgt...
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

Moment. Das hab ich übersehen. "microphone" dürfte ein Überbleibsel in der Config sein. Das habe ich nicht aktiviert. Genau wie auch "Raven". Das kannst ignorieren. Sorry.

JensS

0.0.0.0:12199:mobile1 und Satellite siteIds: mobile1 sollte gehen, wenn im Handy die Siteid mobile1 und Wake word auf UDP <RhasspyBasis>:12199 eingetragen ist.
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

OK, nun hatte ich auch erste "Treffer" mit porcupine (ohne Mikrophon-Aktivierung) und 0.0.0.0... :)

Was noch fehlt, ist eine haptische oder akkustische Rückmeldung, dass das hotword erkannt wurde, muss da mal noch in Ruhe testen, wann da überhaupt was geht. Das ganze fühlt sich irgendwie im Moment noch nicht "rund" an.

"localhost" wollte jedenfalls (bei einem kurzen Test) nicht, und im Moment ist mir noch unklar, wo der Vor- oder Nachteil von 0.0.0.0 zur echten IP liegt. Tendenziell wäre meine Grundhaltung "enger ist besser", aber bei UDP ist das (ganz allgemein) eh so eine Sache, wenn ich das soweit richtig verstanden habe.

Na ja, wie dem auch sei, der [WIP]-Status ist demnächst überholt  8) .
Herzliches Danke!

Abschließende Zusammenfassung folgt dann bei Gelegenheit.
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

Bei mir bimmelt die App schon wenn das Hotword erkannt wurde. Und zwar mit den Sounds, die in Rhasspy eingestellt sind.

JensS

#37
0.0.0.0 bedient alle Interfaces. Kann ja sein, dass dein Rhasspy mehrere Netzwerkinterfaces hat.
Dann passt die Namensauflösung eventuell nicht zwingend.
"nslookup <RhasspyName>" bzw. "nslookup <RhasspyName> 127.0.0.1" sollte Aufschluss geben.
"netstat -p | grep 12199"  ist auch ganz nützlich.
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

Zitat von: drhirn am 09 April 2021, 09:53:23
Bei mir bimmelt die App schon wenn das Hotword erkannt wurde. Und zwar mit den Sounds, die in Rhasspy eingestellt sind.
Hmm, also...
Das hier klappt nicht:
set rhasspy play siteId="mobile1" path="/opt/rhasspy/profiles/de/sounds/start_of_input.wav"
Die File liegt da, Rechte sind rhasspy:rhasspy, Quelle ist https://github.com/Psychokiller1888/MyChef/tree/master/assistants/assistant_en/custom_dialogue/sound. Spielt man das von der Seite aus runtergeladen ab, plingt es auch.
Na ja, ein andermal...
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


Gisbert

Hallo Jörg,

ich versuche mich an RHASSPY (refers to this FHEM-module or the FHEM-device) und Rhasspy (refers to the Rhasspy Voice Assistant).
Kann ich hier Fragen stellen - oder ist es hier eher ungünstig?

Die Installation von rhasspy auf Debain 11 hab ich hinbekommen.
Wenn rhasspy läuft:
PATH="$PATH:/usr/sbin" rhasspy --profile en
rhasspy --profile en

dann komme ich auf die Hompage - und hab gleich den Server runtergefahren, das ist also nicht der Schalter zum Verlassen der Seite.

Die Android-App habe ich runtergeladen und installiert; sie startet, mehr hab ich nicht versucht.

Einen Ordner /opt/rhasspy habe ich angelegt. Einen User rhasspy kann ich anlegen - wie ist es mit dem Passwort dieses Users?
Wie startest du dann rhasspy?

Dann noch eine Besonderheit bei mir: ich nutze (immer noch) MQTT_DEVICE, d.h. mosquitto in Fhem - ja ich weiß, Asche auf mein Haupt, und das Loch in dem ich versinke, ist schon ausgehoben, aber kann ich MQTT für Fhem (und für rhasspy) behalten, bis der Winter richtig da ist, und ich genug Zeit für den Umstieg auf MQTT2 hab?
Was muss ich hier beachten?

In Fhem habe ich die folgenden Devices angelegt:
defmod rhasspyMQTT2 MQTT2_CLIENT rhasspy:12183
attr rhasspyMQTT2 clientOrder RHASSPY MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr rhasspyMQTT2 subscriptions hermes/intent/+ hermes/dialogueManager/sessionStarted hermes/dialogueManager/sessionEnded

defmod Rhasspy RHASSPY


Immerhin den Anfang hab ich geschafft, ermutigt durch deinen Vortrag und die Dokumentation bei Github.
Gibt es noch eine (versteckte) Anleitung, die ich noch nicht gefunden habe?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Beta-User

Zitat von: Gisbert am 19 November 2021, 15:17:15
Kann ich hier Fragen stellen - oder ist es hier eher ungünstig?
...teilweise...

Hierher gehören m.E. "eigentlich" nur die Fragen, die sich mit der "mobile app" beschäftigen.

In https://forum.fhem.de/index.php/topic,119679.msg1143870.html#msg1143870 ist dann noch meine Antwort auf diese Fragen zu finden:
ZitatEinen Ordner /opt/rhasspy habe ich angelegt. Einen User rhasspy kann ich anlegen - wie ist es mit dem Passwort dieses Users?
Wie startest du dann rhasspy?

Da Rhasspy dann als Dienst (wie fhem) läuft, braucht der User rhasspy kein Passwort (und es ist m.E. auch nicht zu empfehlen, eines zu setzen!).

Hoffe, es ist ok für dich, einfach für den Rest einen neuen Thread aufzumachen?
Du kannst gerne die hier nicht beantworteten restlichen Fragen einfach dann da reinkopieren und von hier aus dahin verlinken, und kannst für andere gerne dann auch meine/deine systemd-unit-file dort posten, wenn der autostart von rhasspy damit klappt :) .

Vielleicht etwas mehr zum Hintergrund:
Es sind grundsätzlich folgende Dinge, die man braucht und die zusammenspielen müssen:
a) einen laufenden rhasspy-Dienst (incl. autostart);
b) "irgendwas", um "Geräusch" auszutauschen (darum - bzw. die spezielle Lösung mit der App - geht es eigentlich in diesem Thread);
c) auf FHEM-Seite
-- zum einen (c1)) ein Interface (das geht nur noch (!) mit MQTT2_(CLIENT|SERVER) (SERVER: für diesen speziellen Anwendungsfall not recommended! Da Rhasspy sowieso einen eigenen Server mitbringt, ist die übrige MQTT-Welt an der Stelle völlig irrelevant.))
-- zum anderen (c2)) RHASSPY (und (je nachdem, was schon da ist) die weitere Konfiguration an den zu steuernden FHEM-Geräten (c3))).

Eigentlich wäre es sinnvoll, für jeden der 3-5 Teilbereiche je einen eigenen Thread zu haben (bzw. ggf. für weitere "Geräusch"-Bereiche ggf. was gesondertes, wobei das und a) eigentlich keine FHEM-Themen sind)...

Ich unterstelle mal, dass noch mehr Leute Interesse an dem "wie fange ich an" haben, ohne sich durch "gefühlt 1000 Seiten Entwicklungs-Thread" wühlen zu wollen, möchte ich die Gelegenheit gerne nutzen, die (nach meinem Eindruck) zwischenzeitlich sehr wenigen Schritte mal wieder auf dem aktuellen Stand mit einem "Testwilligen" durchzuspielen ;) .
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

Zitat von: Beta-User am 19 November 2021, 15:48:07
Ich unterstelle mal, dass noch mehr Leute Interesse an dem "wie fange ich an" haben, ohne sich durch "gefühlt 1000 Seiten Entwicklungs-Thread" wühlen zu wollen, möchte ich die Gelegenheit gerne nutzen, die (nach meinem Eindruck) zwischenzeitlich sehr wenigen Schritte mal wieder auf dem aktuellen Stand mit einem "Testwilligen" durchzuspielen ;) .

Da kann ich gerne mitmachen. In Ö ist ab Montag wieder Lockdown. Ich hab Zeit ;)

Gisbert

ZitatIch unterstelle mal, dass noch mehr Leute Interesse an dem "wie fange ich an" haben, ohne sich durch "gefühlt 1000 Seiten Entwicklungs-Thread" wühlen zu wollen, möchte ich die Gelegenheit gerne nutzen, die (nach meinem Eindruck) zwischenzeitlich sehr wenigen Schritte mal wieder auf dem aktuellen Stand mit einem "Testwilligen" durchzuspielen ;) .
ZitatDa kann ich gerne mitmachen. In Ö ist ab Montag wieder Lockdown. Ich hab Zeit ;)

Danke euch beiden für das Angebot - einen Testwilligen habt ihr schon mal. Eine rasche Antwort kann ich jeweils von Samstag bis einschließlich Montag geben, unter der Woche (Di - Fr) meist nur abends.
Ich versuche derweil mit den Informationen, die ich finde bzw. ihr mir gebt, schon mal weiterzumachen.

Ein Beitrag für die Dokumentation wäre hiermit gegeben:
Unter Debian11 es muss libgfortran4 installiert werden, ansonsten verweigert rhasspy die Installation.
Ich hab es im gleichem Verzeichnis wie folgt installiert, welches ich vorher hier gefunden habe: https://packages.debian.org/buster/amd64/libgfortran4/download
sudo apt install ./libgfortran4_7.4.0-6_amd64.deb

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

drhirn

Das ist ein Thema für Rhasspy. Wir haben uns entschieden, dessen Installation nicht zu dokumentieren. Weil das eh hier passiert. Sonst laufen die zwei Dokus nur auseinander.