SEPIA open-source Sprachassistent: Integration in FHEM?

Begonnen von sepia, 04 Juli 2019, 12:10:12

Vorheriges Thema - Nächstes Thema

Jasdhewer

@sepia
ich glaube, ich muss noch mal alles von vorne installieren. Wie kann ich SEPIA vollständig mit allen Abhängigkeiten deinstallieren?

sepia

#331
Zitat von: whistler am 25 Juli 2020, 20:48:10
Ich bastel gerade eine Loopback, aber eher um passend zur Musik die Ausgabe abzufangen fürs Ambilight :-) Wieder eine andere Baustelle. Aber das mit dem Rausfiltern klingt spannend.
Ähnlich wie in der Höherpreisigen Autos, die Filtern auch die Geräusche vom aussenbereich damit es innen schönen Leise ist :-)

Hi Basti,
ich habe die Tage wieder intensiver am STT Server gespielt und auch ein paar Experimente gemacht mit Audio-Spektrum Analysen im SEPIA Client für so eine Art selbstgebautes Wake-Word ^^. Alles noch sehr weit am Anfang, aber ich bin jetzt etwas optimistischer, dass man da vielleicht langfristig mehr Kontrolle bekommt über das Audio-Interface ;-) .. naja das nur so als Teaser :-p

Zitat von: whistler am 25 Juli 2020, 20:48:10
Gutes Beispiel dafür, ich lasse ihn Restarten, geht ja auch gut per VNC, Reiter 3 Interface neu laden, das geht auch gut in der Mittagspause Remote. Das ich danach Telegram Meldungen fürs Hotword kriege so 1-2 Stunden aus allen unterschiedlichen Räumen. Wohlgemerkt es ist keiner daheim und alles Still und aus.

Ich habe einiges verbessert im Client um diese Probleme zu reduzieren, z.B. einen Auto-Reset wenn SEPIA zu lange im "Loading" Modus festhängt und diverse reconnect Prozeduren. Vermutlich habe ich auch eine Lösung gefunden für das Chromium "Bitte update mich" Popup (was offiziell im Raspberry Pi Forum als Bug geführt wird ^^). Alles in allem wird der 2.5.1 Client glaube ich deutlich robuster :-)

Zitat von: whistler am 25 Juli 2020, 20:48:10
Aber ja so würde ich mir das wünschen, ich bin sicher nicht der einzige. (Hast du schon was DEV Test mässiges? ) :)

Es gibt ein Node.js Repository wo Einiges im Dev-Branch ist und auch schon funktioniert, ich kam aber die letzten Tage nicht dazu daran weiter zu arbeiten oder eine Erklärung zu schreiben. Bald sollte sich da aber wieder was bewegen :-)

Zitat von: whistler am 25 Juli 2020, 20:48:10
ich habe nur die globale, die scheint zu tun. es scheint auch damit nicht zusammen zu hängen. einmal sieht es so aus als gäbe es einen Zusammenhang dafür die nächsten 9 male nicht mehr :-) (1/10) ist ja nur nicht direkt reproduzierbar :-)

Ich fürchte hier weiß ich leider auch nicht weiter gerade :-/ Beim Audiosystem von Linux gibt es ca. 1 Millionen Mögliche Problemquellen und die hängen speziell von deiner Hardware ab (Mikrofon + Lautsprecher) und allen zusätzlich installierten Packages + Config Einstellungen für Streaming Software etc.. Dazu könnte man gut ein GitHub Issue aufmachen, in dem man spezielle Konfigurationen diskutiert ;-)

Zitat von: whistler am 25 Juli 2020, 20:48:10
Hast du denn ein Intent was Sepia direkt in den Always On Mode schicken kann, bzw. könntest du das einbauen?
Dann könnte ich das Triggern per Tasker. Das wäre dann vielleicht auch ein Kompromiss, ich weiss das der Absturz etc. keine Option ist, keine Frage.

Kein Android Intent aber einen Deeplink, ich glaube der müsste so aussehen: https://b07z.net/dl/sepia/index.html?view=aomode
Ich gehe mal davon aus Tasker kann Deeplinks für Apps nutzen?

Zitat von: whistler am 25 Juli 2020, 20:48:10
Ja ich weiss, aber ich dachte mir, so hat man den "kompletten" System report in einem Rutsch. Und ja auch hier könnte ich selber was bauen. Da sind wir wieder bei Punkt 1 oben. Da ist mir sich ein gemeinsamen weg einigen und du schiebst es dafür in den Standard :-)

Habs schon auf der Liste für 2.5.1 ;-)
Bist du mit deinem Timing Problem weitergekommen? (die Lange Verzögerung bei manchen Befehlen meine ich).

Zitat von: Jasdhewer am 28 Juli 2020, 00:35:42
@sepia
ich glaube, ich muss noch mal alles von vorne installieren. Wie kann ich SEPIA vollständig mit allen Abhängigkeiten deinstallieren?

Der Server hat keine Abhängigkeiten, da kannst du einfach den "~/SEPIA" Order löschen und ggf. den Cron-Job entfernen (falls du einen gesetzt hast).
Beim Client ist es etwas schwieriger, der sieht eigentlich nicht vor, dass man noch andere Sachen auf dem System laufen hat, deshalb gibt es da auch noch keine Deinstallationsprozedur. Ich würde empfehlen ein frisches System aufzusetzen, das geht ja ziemlich schnell.

Wenn du unbedingt das System erhalten willst wären in etwa folgende Schritte nötig:
- '~/sepia-client' Ordner öffnen und erstmal "shutdown.sh" ausführen
- dann den '~/sepia-client' Ordner löschen
- den Ordner '~/clexi' löschen
- Ordner '~/.config/openbox' löschen und openbox entfernen 'sudo apt-get remove openbox'
- Chromium entfernen: 'sudo apt-get remove chromium-browser'
- ggf. in der '~/.bashrc' den SEPIA Eintrag entfernen (müsste am Ende stehen unter '# Run SEPIA-Client on login?')
- ggf. '~/.asoundrc' prüfen oder entfernen

Was dann noch übrig bleibt sind Sachen wie Node.js, Xserver Pakete und Komponenten, die eventuell fürs Mikrofon installiert wurden etc.

TRallala

Hi Florian,

hast nicht zufällig ein Update  über das wir uns freuen können 8) ?

Gibt es eigentlich eine Möglichkeit aus fhem heraus mit dem sepia Client zu "sprechen"?
Am sinnvollsten wohl per "chat-channel" den man anschreiben kann  (per REST?) !?

Gruß
Markus

sepia

Zitat von: TRallala am 21 August 2020, 12:43:58
Hi Florian,

hast nicht zufällig ein Update  über das wir uns freuen können 8) ?

Gibt es eigentlich eine Möglichkeit aus fhem heraus mit dem sepia Client zu "sprechen"?
Am sinnvollsten wohl per "chat-channel" den man anschreiben kann  (per REST?) !?

Gruß
Markus

Hi Markus,

Arbeiten am Update laufen auf Hochtouren ^^, aber ein bisschen dauert es noch. Teste gerade die Android App im Beta Channel weil Google mal wieder neue Anforderungen hat  :P ::)

Es gibt sowohl eine REST API als auch einen Weg über den Chat Server (WebSocket). Die REST API wäre der einfachere Weg, der hier ein bisschen dokumentiert ist. Das Socket-Interface ist etwas komplizierter, weil man ein bisschen Ping-Pong mit dem Server spielen muss bevor man akzeptiert wird.
FHEM würde eine Implementierung in PEARL benötigen oder?
Ich hatte auch mal angefangen einen Client in Node.js zu schreiben (siehe hier), das ist aber noch nicht ganz fertig. Für multi-turn Dialoge müsste man das auch noch etwas erweitern.

Hattest du einen bestimmten Anwendungsfall im Auge? :-)

Grüße,
Florian

TRallala

#334
Na dann gedulden wir uns noch etwas...

Mein Anwendungsfall ergibt sich aus meinen mangelnden Programmierfähigkeiten. Befehle die sepia nicht versteht schicke ich an fhem und kann mit dem Modul talk2fhem "einfach" per regex verschiedenste tasks (per shell, perl oder direkt fhem) ausführen.
Das Ergebnis bzw. eine Antwort darauf würde ich dann an den sepia-client, in eben diesen chat, zurück geben wollen.

Die Doku reicht für meine Copy&Paste&Skriptadaptionsfähigkeiten leider auch nicht, evtl. hast noch einen Tip wo im Code ich den Endpoint und die Parameter nachlesen kann?

Gruß
Markus

Nitaro

#335
Ich hatte mich jetzt eine Weile nicht mit SEPIA beschäftigt.
Gibt es eine Möglichkeit das Admin-Kennwort zurückzusetzen ?
Ich habe es leider nicht notiert... :-\

EDIT: Gefunden! Das Setup Script noch einmal starten, dann kann man ein neues Passwort für den Admin und den Assistant User setzen.

Jasdhewer

#336
Hallo,
nach langer Zeit habe ich nun noch mal von vorne begonnen:
Ich habe einen zweiten Pi genommen und dort alles nach Anleitung installiert. Nun ging auch wieder vieles, was vorher Probleme gemacht hat. Leider bekomme ich es jedoch immer noch nicht hin, per Client auf dem selben Pi mit dem Mikrofon die Befehle zu senden. Client ist auf Grün; in den settings habe ich wakeword auf true geändert. Woran könnte es liegen?

edit:
Meine Frage genauer: Wie muss ich ein Respeaker 4 installieren? Kann ich ganz genau nach der Anleitung nehmen, wie im Beispiel der Respeaker 2 oder was genau muss ich abändern? Ist noch davor eine Installation des Respeakers 4 notwendig?

sepia

Hallo zusammen, mir fehlt leider momentan die Zeit hier regelmäßig vorbeizuschauen :-( die Arbeiten an SEPIA gehen aber konsequent weiter :).

Kurze Info: die Version v2.5.1 ist seit letzter Woche online und sollte diverse "Problemchen" mit dem DIY Client beheben (stabiler, neue Fehlermeldungen über das Remote-Terminal etc.). Es gibt noch eine ganze Reihe von Updates, am Besten ihr schaut mal in die Release Notes  8).

Zitat von: Jasdhewer am 08 Oktober 2020, 21:17:29
Meine Frage genauer: Wie muss ich ein Respeaker 4 installieren? Kann ich ganz genau nach der Anleitung nehmen, wie im Beispiel der Respeaker 2 oder was genau muss ich abändern? Ist noch davor eine Installation des Respeakers 4 notwendig?

In der Issues Sektion von SEPIA gibt es einen Thread vielleicht hilft der?
Die neue Version hat auch eine neue Option für die Definition des Audio-Input/Output Gerätes via '~/sepia-client/setup'.

Grüße,
Florian

TRallala

ZitatClient ist auf Grün; in den settings habe ich wakeword auf true geändert. Woran könnte es liegen?

funktioniert denn das MIC an sich? Sprich, wenn du remote das mikrofon aktivierst, kommt der "aufforderungston" und du kannst etwas aufnehmen?

An dieser Stelle hängt es nämlich grade bei mir (Pi Zero + 2-mic-HAT). Das Mic an sich funktioniert, das wakeword nur leider noch nicht einmal.

whistler

#339
Zitat von: sepia am 30 Oktober 2020, 12:53:02
Hallo zusammen, mir fehlt leider momentan die Zeit hier regelmäßig vorbeizuschauen :-( die Arbeiten an SEPIA gehen aber konsequent weiter :).

Kurze Info: die Version v2.5.1 ist seit letzter Woche online und sollte diverse "Problemchen" mit dem DIY Client beheben (stabiler, neue Fehlermeldungen über das Remote-Terminal etc.). Es gibt noch eine ganze Reihe von Updates, am Besten ihr schaut mal in die Release Notes  8).

Grüße,
Florian

Hallo zusammen,

ich hab mir nun auch endlich mal das Update eingespielt. Also erst den Server upgedatet mit dem Build your Own, das sollte sich ja hoffentlich nicht geändert haben. Läuft auch soweit.

Gestern musste dann der erste Client dran glauben, Aber zuerst die üblichen Verzeichnisse gelöscht ~/.. und dann neu eingespielt wget von github unzip setup etc. leider bekomme ich vom Remote Terminal keine Verbindung zum Server.

Fehlermeldung im Terminal: CLEXI connection failed! Server not reached.

Sowohl der neu installierte Client als auch die Alten Clients verbinden sich nicht mehr.
Es wird der Rote Punkt. (Als Test per http:// klappt der Aufruf und der nginx vom Client antwortet)

Hat jemand eine Idee was das sein könnte?

Vielen Dank und einen schönen Sonntag
Basti

EDIT: Scheinbar war es eine Vermischung von caching im Browser und das ich mal wieder in den Reverse Proxy Fehler getappt bin nach dem Update.

@Florian: würdest du bei nächster Gelegenheit eine kleine Erweiterung aufnehmen (Die Dateien ändern sich ja nicht so oft).
Die on-reboot.sh klonen zu (z.B.) on-reboot-proxy.sh
Dort ist dann der Proxy aufruf direkt aktiviert. Dann kann man sich den jeweiligen gewünscht Eintrag in die Cronjobs legen. (Alternative -proxy anhängen was intern das gleiche macht) :-)
Der proxy verzögert zu starten führt meistens dazu, das es nen Timeout oder so gibt, das es dann fehlschlägt, und wenn man nicht drauf achtet, dann endet es im "Chaos" :-)

Danke schön.

Flossenfahrer

Hallo zusammen,

nachdem ich mich vor längerem mal etwas mit SNIPS beschäftigt hatte und dann beim Wiederbeleben meines Projekts leider die Sonos-Geschichte feststellen musste, bin ich glücklicherweise über SEPIA gestolpert. Damit bin ich deutlich besser klargekommen und hatte doch tatsächlich innerhalb kürzester Zeit meine erste Lampe geschaltet. Danke Florian, für die tolle Arbeit.

Einzelne Problemchen habe ich allerdings noch:
In der Android App kann ich Befehle bisher nur absetzen, wenn ich die Aufnahme manuell anstoße. Auf das Wake Word reagiert der Client bisher überhaupt nicht. Auch auf der Einstellungsseite komme ich nicht weiter. Ich sehe bei eingeschaltetem Debug zwar die Meldungen bis "STARTED recorder" wenn ich den Test starte bzw. "SUSPENDED audio-context", wenn ich den Test stoppe, aber auf 'Hey SEPIA' reagiert die App im Moment gar nicht. Was mache ich falsch? Die App ist auf deutschen Sprachdialog eingestellt und ansonsten versteht Sepia mich bestens.

Der headless DIY-Client (Raspi 3B mit Respeaker 4-mic array, output über analoge Buchse) läuft prinzipiell super. Leider aber nur auf englisch, was die Akzeptanz im Haushalt etwas schmälert. Wahrscheinlich bin ich nur zu blöd, um den richtigen Hinweis zu finden, wie man SEPIA hier deutsch sprechen lässt. Kann mir da jemand einen Tip geben?

Zitat von: Jasdhewer am 08 Oktober 2020, 21:17:29

Meine Frage genauer: Wie muss ich ein Respeaker 4 installieren? Kann ich ganz genau nach der Anleitung nehmen, wie im Beispiel der Respeaker 2 oder was genau muss ich abändern? Ist noch davor eine Installation des Respeakers 4 notwendig?

Das hat bei mir relativ gut geklappt. Ich habe die Installation des SEPIA Clients nach der Variante 2 durchgeführt, nur anstatt des mitgelieferten Scripts für den 2 Mic Hat die Installation der Treiber wie hier beschrieben abgearbeitet:
https://wiki.seeedstudio.com/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/#getting-started

Das Deaktivieren des Output-Jack habe ich auch weggelassen.
Anschließend mit dem setup.sh Script über den Punkt 8 das Audio Input Device auf 'ac108' gesetzt und voilà... läuft.

Viele Grüße,
Ocke

TRallala

Hi Ocke,

ZitatIch sehe bei eingeschaltetem Debug zwar die Meldungen bis "STARTED recorder" wenn ich den Test starte bzw. "SUSPENDED audio-context", wenn ich den Test stoppe, aber auf 'Hey SEPIA' reagiert die App im Moment gar nicht. Was mache ich falsch?
Wenn ich die debug Info einschalte, funktioniert das WW bei mir auch nicht (mehr).

Prinzipiell kann man nicht viel falsch machen, entweder über "Hey Sepia" und "Start" die Erkennung, manuell starten, oder
die Einstellungen "Allow local/wake-word" und "Load Engine on start" aktivieren, etwas gedulden, app neu starten.

Ich muss recht nah an mein Mic dran, damit die Aufahme startet, aber sonst funktioniert es ohne weiteres zutun.

Zitatwie man SEPIA hier deutsch sprechen lässt. Kann mir da jemand einen Tip geben?
log dich mal mit dem Benutzer den du am Headless client benutzt am webclient an und stell dort die Sprache auf DE.
Die Begrüßung wenn der Client startet ist bei mir jedoch weiterhin auf EN.

Viel Erfolg.
Markus

gestein

Hallo,

ich würde mich gerne auch mit dem Thema wieder näher beschäftigen.
HW hätte ich Zuhause, nur die Mikrophone muss ich kaufen.
Abner welche(s) sollte man nehmen?

Das Thema wurde bereits mehrfach besprochen, aber wirklich nachvollziehen kann ich es trotzdem nicht.
Zur Auswahl stehen ja anscheinend folgende Mikrophone:

  • ReSpeaker 2-Mics Pi HAT    (das verwendet scheinbar auch Florian)
    ReSpeaker 4-Mic Array for Raspberry Pi
    ReSpeaker 4-Mic Linear Array Kit for Raspberry Pi
    ReSpeaker 6-Mic Circular Array kit for Raspberry

Wie sind Eure Erfahrungen mit den unterschiedlichen Mikrophonen? Zahlt sich ein 6-er aus? Oder sollte es wegen Empfindlichkeit/Reichweite etc. ein 4-er sein?
Oder sollte es in großen Räumen ein 6-er sein und in kleineren reicht das 2-er?

Danke schon mal.
lg, Gerhard

Flossenfahrer

Danke Markus,

beide Tipps waren erfolgreich.

Wobei ich allerdings generell sowohl bei dem DIY-Client als auch in der App noch echt üben muss, dass Sepia mich auf versteht. In der App klappt es sehr selten und am Client muss ich es etwa jedes zweite Mal wiederholen. Weiß nicht, ob das an meiner Aussprache liegt oder ob da von mir an den Einstellungen noch etwas verbessert werden kann...

Ich übe einfach fleissig weiter ;-)

Ocke

gestein

Hallo,

@Florian:
ich würde gerne das Sepia-Logo für fhem übernehmen.
Ist das ok für Dich?
Würde es vorher mit Dir abstimmen.

lg, Gerhard