NEWS
[Aufruf] Adapter: Snips - Offline Speak2Text
-
@unltdnetworx t2c fängt mit der session id nicht viel an ... wollt ihr ein eigenes Snips2C machen? ... hätt ich nur mehr Ahnung von Java/node.js
-
@Wal habe das hier zufällig gesehen. Wäre das vielleicht was?
https://aiyprojects.withgoogle.com/voice/
Natürlich nur die Komponenten, nicht die Pappschachtel
-
@AndiM
Ja genau das ist das Hauptproblem. Aber nichtsdestotrotz arbeitet der Adapter im Moment nur neben Snips und greift die Daten ab. Er sollte aber richtig mit Snips kommunizieren, das geht eben mit den SessionIDs. In der Theorie hab ich eine Idee. Muss morgen mal sehen, ob es auch praktisch klappt umzusetzen.Zur Kommunikation mit t2c muss entweder eine t2c-Regel die Daten entsprechend zurückgeben oder t2c um SessionIDs erweitert werden.
Zur Not muss wirklich der Snips-Adapter erweitert werden. Aber das wäre nur die äußerste Lösung.
-
@unltdnetworx said in [Aufruf] Adapter: Snips - Offline Speak2Text:
Noch eine andere Frage. Hat jemand seinen ioBroker auch auf einer Synology mit Docker laufen?
Ich habe HDD-Standby bei längerer Nichtbenutzung aktiv und das Gefühl, dass Snips manchmal ewig braucht um zu antworten. Bin mir nicht sicher, ob es am Aufwecken der Festplatten liegt.
I.d.R. gehen die Platten nicht auf Standby wenn eine Applikation läuft. Habe keine Erfahrung mit dem ioBroker on Docker, aber wenn du z.B Mailserver laufen hast oder auch Unifi WifiController auf Docker, dann schalten die Platten nicht ab.
Ich habe lange Wartezeiten und Fehverhlalten beim LED Feedback auf meinen Satteliten, starte seit ein paar Tagen die Snips Services sowohl auf dem Server als auch auf beiden PI's per crontab 2 mal täglich.
-
Danke für dein Feedback. Bei mir gehen die denke ich schon in Standby, zumindest dauert der erste Aufruf manchmal etwas länger. Könnte natürlich auch an Snips liegen. Bin mal auf das Update am 25.02. gespannt.
-
Hallo,
ich spiele mich schon die letzten paar Tage mit snips.
Ich habe es im Moment mit zwei "Main" + 2 Snips Instanzen + Javascript Programmen gelöst, funktioniert ganz gut.Was mir aufgefallen ist, bzw was ich mir wünschen würde, wäre:
-
die Möglichkeit die Lautstärke des Bestätigungstones ("Hey Snips - "PING" - Command - PING") über einen Snips-Datenpunkt laufend anpassen zu können. Zum Beispiel unter Tags etwas lauter, in der Nacht leiser.
-
die Möglichkeit, Snips Programmgesteuert in den "Lauschmodus" zu schalten. Damit wären z.B. Antworten an Snips möglich, ohne "Hey snips" zu sagen. Beispiel: snips:"Die Sonne scheint draußen, soll ich die Rolläden beschatten?" - Benutzer:"Ja bitte" (und nicht "Hey snips, ja bitte")
Wäre doch ein netter Schritt in Richtung Unterhaltung mit dem Haus oder?
-
-
Zu Punkt 1: Das scheint momentan leider von Snips aus nicht zu funktionieren.
An Punkt 2 bin ich gerade dran. Das liegt daran, dass dem Adapter momentan die Sessions des Snips herzlich egal sind. -
Hi, heute gibt es ein neues release von snips....wie schaut es mit dem Update aus....Wenn das jemand ausprobiert hat, kann man ja hier mal die Erfahrungen posten....Werde im laufe der Woche mal das system updaten und berichten...Ist bei mir eh alles noch im Test, bzw. nutze ich es nicht wirklich...ist noch im just for fun Betrieb...Ist denn zu erwarten, dass der adapter oder der skill nicht kompatibel sein koennten?
Ansosnten ist vlt. ein image backup im Vorfeld angebracht... -
@smartboart
Werde heute Abend mal testen. Aber die Release Notes lesen sich nicht so gravierend, als dass der Adapter nicht mehr funktionieren würde.Auf die verbesserte Hotword Erkennung bin ich gespannt.
-
Hallo,
ich habe das Update durchgeführt.
Der Iobroker-Adapter läuft nach wie vor, ebenso alle Programme usw. Mir ist bis jetzt nichts besonderes aufgefallen, außer, dass das Hotword besser erkannt wird. -
Hat sich bei dir die Version erhöht? Bei mir steht mit
sam --version
nach wie vor 0.0.51 da.
EDIT:
Das ist natürlich die Sam-Version
Also doch alles gut. -
Du hast recht, Versionsnr: 0.0.51
Ich habe den Rasp neu gestartet und vorsichtshalber nochmals sudo apt-get update & upgrade gemacht.
Trotzdem alte Versionsnummer.--- lol, ok
-
also
sam update
reicht. Version ist 0.61.1.
Siehesam status
0.0.51 ist nur die Sam-Version auf dem PC.
-
Nach dem Update gestern, finde ich auch, dass das Hotword besser erkannt wird. Außerdem war es in dieser kurzen Beobachtungszeit weniger anfällig für Falschauslösungen. Keine einzige Erkennung während des ganzen Fernsehabends. Und trotz Hintergrundgeräuschen, aber natürlich mit lauterer Stimme durchaus passable Erkennung, wenn gewollt.
@Wal
Weiterentwicklung geht relativ gut voran. Der Adapter kommuniziert jetzt über den Dialog Manager mit Snips und startet/setzt fort/beendet Sessions. Somit deutlich schnellere Wiederverfügbarkeit nach einem Befehl. Außerdem hab ich einen Weg gefunden, die SessionID an t2c zu übergeben und wieder zurück. Bis zur fertigen Version dauert es aber noch etwas. -
@rascal
Hast du einen Vorschlag, wie man das mit deiner "Kommunikation mit dem Haus" realisieren könnte? Also wer z.B. den Dialog starteten soll. Eine eigene JS Regel, text2command, der User oder Snips? -
Guten Morgen unltdnetworx,
zu meiner Konfiguration:
im Moment habe ich 2 Raspberries mit 2 Snips Master + 2 snips-Iobroker Adapter.
In Javascripten trigger ich auf die Iobroker Instanz um zb. "Licht ein", "Radio an" ohne Raumbezeichnung schalten zu können.
Den Text werte ich mit
string.indexOf('Licht')>=0 && (string.indexOf('ein') || string.indexOf('an'))
aus, da es bisher mit dem Text2Comman Adapter mit einem Master/Slave snips nicht funktioniert hat.Zum Antworten an snips:
Ob in JS oder Text2Command ist mir mittlerweile egal, wobei ich glaube, dass t2c einfacher wäre. (wenn es auf eine snips-instanz triggern könnte und das "Antwort-Gerät" im t2c nicht immer verschwindet)
Wer den Dialog auslöst ist eine gute Frage, da ich das Meiste über JS steuere, vielleicht wäre es über einen Snips-"Zeit"-Datenpunkt möglich, dass snips diese Zeitspanne auf eine Antwort wartet. Wenn der Datenpunkt aktualisiert wird, wartet Snips die in dem Datenpunkt hinterlegte Zeit auf eine Spracheingabe.
snips: "Es steht jemand vor der Türe, soll ich öffnen?"
snips-Datenpunkt: 2 (Sek)
user: "ja" || "sei so lieb"snips: "Es wird im Wohnzimmer sehr warm, soll ich die Klimaanlage aktivieren?"
snips-Datenpunkt: 4 (Sek)
user: "nein danke" || "Kühle auf 22°"Keine Ahnung ob das Machbar ist, vielleicht geht's auch anders.
-
Das geht mittels der SessionID, super sogar. Kann man in der zukünftigen Version wunderbar beobachten.
Etwa so:
NLU was asked to start Session with ID...
NLU was asked to end Session ID by saying blablablaDie technische Seite hatte ich aber gar nicht gemeint. Mir geht's rein um die praktische Idee. Wie startet denn das Gespräch? Snips kann ja schlecht einfach loslegen.
-
Starten über JS oder blocky, ich denke, da ist man am flexibelsten, egal worauf man reagiert.
-
@Wal
Habe gerade einen Pull-Request im testing-Branch gestellt.Neuerungen:
- Ordnerstruktur hat sich geändert:
- Neuer Überordner: "devices"
- Unterordner "all"
- Unterordner für jeden Satelliten
- Jeder Satellit kann jetzt über den Datenpunkt snips.X.devices.XXX.send.text direkt angesprochen werden und Informationen ausgeben (Ordnerstruktur wird bei erster Verwendung des Satelliten automatisch erzeugt)
- text2command Ausgabe-Datenpunkt muss zwingend auf snips.X.devices.all.send.text gesetzt werden (X muss natürlich die laufende Nummer der Instanz sein, meist also 0)
- Adapter interagiert mit den Satelliten
Durch die Neuerungen können alle Satelliten jetzt Infos ausgeben und beenden danach sofort wieder den Dialog mit Snips. Heißt, dass sowohl bei nicht durch den text2command-Adapter erkannten Befehlen, als auch bei sonstigen Ausgaben Snips danach sofort wieder zur Verfügung steht. Die langen Wartezeiten bis zur nächsten Spracheingabe entfallen somit.
Außerdem können die Satelliten durch die *.send.text jetzt explizit angesprochen werden. Text2command muss hingegen den oben genannten .all.send.text ansprechen. Der Adapter verteilt die Ausgabe dann selbstständig anhand der SessionID an den richtigen Satelliten.
Wenn .all.send.text direkt, also nicht von text2command angesprochen wird und somit keine SessionID enthält, dann erfolgt die Ausgabe an alle eingebundenen Satelliten.
Bitte an Alle:
Testet doch bitte mal den aktualisierten Adapter aus dem Testing-Bereich (Version 1.1.0) sobald Walter den Vorschlag angenommen hat. Sollte auch ohne Satellitenbetrieb bzw. mit einem Server und einem Satelliten funktinionieren.Danke
- Ordnerstruktur hat sich geändert:
-
@unltdnetworx
erledigt