NEWS
[Aufruf] Adapter: Snips - Offline Speak2Text
-
Der Adapter wird über "Installieren aus eigener URL / beliebig" installiert.
Github-Url:
https://github.com/unltdnetworx/ioBroker.snips
Bevor der Adapter genutzt wird, sollte eine fertige Snips-Hardware vorhanden sein.
Snips-Konfiguration-Beispiel
URL: IP der Snips-Hardware (Die Snips-Module kommunizieren intern über einen MQTT-Server, an den hängen wir uns dran)
Port: Port des MQTT-Servers von der Snips-Hardware (In der Regel "1883", es sei denn du hast es auf der Snips-Hardware geändert)
Text2Command_Instanz: Deine Instanz von Text2Command, falls du das nutzt (Einfache Methode Befehle auszuwerten)
Filter: Snips ignoriert den Filter (Mich nervt "Ich verstehe dies und das nicht", deshalb als Filter "verstehe" und Snips bleibt stumm)
ClientID: Der MQTT-Server kann dadurch unterscheiden, welcher Client sich einhängt (kann zu 99,9% "0" sein)
Text2Command-Konfiguration
Das "send.say.text" Objekt von Snips eintragen, falls die Snips-Hardware die Antwort geben soll.
Man könnte auch den Sayit-Adapter für die Antwort nutzen oder den Mpd-Adapter.
Objekte:
hotwort.detected: Hotwort wurde erkannt
hotword.wait: Hotwort wurde erkannt und Snips wartet auf Befehl.(Nutze ich um Fernseher oder Radio stumm zu schalten, für bessere Befehlserkennung)
Beispiel:
receive.text: Erkannter Text zum weiterverarbeitensend.inject.room: zum anlernen von Räumen (immer nur ein Wort eintragen und "enter")
send.inject.device: zum anlernen von Gegenständen (immer nur ein Wort eintragen und "enter")
send.say.text: Snips spricht diesen Text (siehe Text2Command-Konfiguration)
Für Tester wäre ich dankbar.
-
Cool, schaue morgen mal drüber und gebe Dev-Feedback
-
Ich kann gleich ein paar Anmerkungen abgeben:
-
Verzeichnis "docs" löschen oder anpassen.
-
SelectID dialog kann so integrieren:
Zeile übernehmen: https://github.com/ioBroker/ioBroker.cl … m.html#L15
Funktion übernehmen: https://github.com/ioBroker/ioBroker.cl ... m.html#L93
So aufrufen: https://github.com/ioBroker/ioBroker.cl ... html#L1176
-
Die parameter (url, port, topic, clientId) hier mit Defaultwerten eintragen: https://github.com/Bettman66/ioBroker.s ... e.json#L72
-
"## Changelog" einfügen
-
Doku auf Englisch
Es ist super so einen Adapter zu haben
-
-
Neue Version 0.0.3:
Filter eingebaut z.B "verstehe" eintragen, damit werden die Sätze " Ich verstehe dies und das nicht" gemutet.
Es muß nur noch die text2command-Instanz angegeben werden z.B. 0
Pull von Bluefox übernommen und Docs gelöscht.
Danke an Bluefox
-
Neue Version 0.0.4:
Hotworderkennung als Objekt zugefügt.
Kleine Änderungen am Code.
Man kann damit z.B. seine Audioplayer muten, für bessere Erkennung der Sprache.
Hier ein Video, das sagt mehr als Worte:
-
Hey,
hat etwas gedauert, aber hier noch mein Feedback:
- Bitte Travis-CI/Appveyor testing noch aktivieren
Rest super
Ingo
-
Hallo Walter,
ich habe mir nun ReSpeaker 2-Mics Pi HAT und einen günstigen Lautsprecher bestellt und werde mal schauen ob ich die Snips Hardware zusammen gebastelt bekomme um deinen Adapter zu testen.
Vielen Dank an dieser Stelle für deine Bemühungen!
Grüßeä
-
Hall Walter,
tolles Projekt, danke dafür.
Allerdings läuft es bei mir nicht so richtig rund.
Ich habe snips nach dieser Anleitung installiert:
https://snips.gitbook.io/documentation/ … spberry-pi
Als Mikrophon ham ich eine Logitech Webcam dran gehängt und als Speaker ein Paar PC Aktivboxen über Klinke.
Es passiert folgendes:
Ich sage "Hey snips"
Der Speaker piept einmal
Ich sage "time"
Der Speaker piept nach ca. 5 sekunden einmal
In "text2command.0.response" steht die aktuelle Uhrzeit. (als Regel in test2command definiert)
Ich hatte erwartet, das der Speaker die Uhrzeit ausgibt.
Kann es sein, das snips nur englisch vesteht?
-
Hallo Zusammen,
habe Snips mit einem Jabra 410 auf einem PI3 installiert.
Snips funktioniert, nur die Sprachausgabe klingt wie Donald Duck, die Ausgabe erfolgt viel zu schnell, kann man das einstellen?
Das Opjekt "text2command.0.response" wird aktualiesiert.
Danke für den Adapter.
Herzliche Grüße
Equilora aka Harald
-
Snips versteht Deutsch, wenn du es so installiert hast.
> Log in to [https://console.snips.ai](https://console.snips.ai) and add a new wizard. Add an app, above the check mark "only show apps with actions" and search for FHEM and select. When you're done, press Deploy Assistant to download the ZIP file. The zipfile is unpacked on the snips machine under "/ usr / share / snips", then reboot.
/usr/share/snips/assistant/assistant.json:
"intents" : [ { "id" : "Thyraz:SetNumeric", "type" : "registry", "version" : "0.0.149", "language" : "de",
Wenn du wie im ersten Post text2command einstellst, sollte der Lautsprecher auch was ausgeben.
@equilora
https://github.com/alexylem/jarvis/issues/65
meine /etc/asound.conf:
pcm.jabra { type hw card 1 device 0 rate 48000 } pcm.!default { type asym playback.pcm { type plug slave.pcm "jabra" } capture.pcm { type plug slave.pcm "hw:1,0" } } ctl.!default { type hw card 1 }
-
Servus Walter,
vielen Dank! - Works like a Charme!
Herzliche Grüße
Equilora aka Harald
-
So, da bin ich wieder.
mein Snips vesteht und redet jetzt deutsch.
Ich gehe davon aus, das ich trotz des Adapters die node-red Geschichte zur Bekanntmachung der Rooms und Devices noch brauche, richtig? Wenn ja, das Thema mit dem Mosquitto Server ist mir nicht klar. Was muss ich da eintragen, und woher bekomme ich die Info?
-
So,
die Stelle wo ich die IP meiner Snips Hardware eintragen muss hab ich gefunden, leider springt der node nur kurz auf connected und dann sofort wieder nach disconnected. Mus da noch was konfiguriert werden?
und welcher Button ist gemeint, um die neuen Room und devices bekannt zu machen?
Ich weiss, sind viele Fragen, aber irgendwie schnall ich´s nicht.
-
Nein, Node-Red wird nicht gebraucht. Node -Red springt um, weil die IP vom Snips-Adapter schon belegt ist. Für die Bekanntgabe nutzt du jetzt die Objekte "snips.0.send.inject.device" und "snips.0.send.inject.room", einfach das neue Wort rein schreiben.
Die IP der Snips-Hardware, schreibst du in den Snips-Adapter unter URL und den Port der Snips-Hardware unter Port(default = 1883).
Die Snips-Software-Module(snips-asr,snips-tts…) kommunizieren über den Mosquitto-Server. Der Snips-Adapter hängt sich mit einem MQTT-Client an den Snips Mosquitto-Server und hört mit.
-
Hallo,
Bekanntgabe über Objekte "snips.0.send.inject.device" und "snips.0.send.inject.room" funktioniert bei mir nicht.
Über node-red aber schon.
joe
-
Hallo,
Bekanntgabe über Objekte "snips.0.send.inject.device" und "snips.0.send.inject.room" funktioniert bei mir nicht.
Über node-red aber schon.
joe `
Du hast recht, muß ich fixen.
-
Bugfix für Injection ist auf Github und npm. Bitte testen.
Immer nur ein Wort für das Lernen eintragen.
-
Servus Walter,
0.0.4 gelöscht und versucht 0.0.5 zu installieren über GIT URL.
Dabei bekomme ich folgenden Fehler.
Fertig mit Fehler: module.js:674 throw err; ^ SyntaxError: /opt/iobroker/node_modules/iobroker.snips/io-package.json: Unexpected string in JSON at position 396 at JSON.parse () at Object.Module._extensions..json (module.js:671:27) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Upload.uploadAdapter (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:219:23) at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:748:44 at Timeout.upload [as _onTimeout] (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupUpload.js:287:57)
Bekomme den Fehler auf der Test, wie auf der Integrationsumgebung.
Herzliche Grüße
Harald
-
Danke, hatte in der Eile ein Komma vergessen. Bitte neu laden.
-
Servus Walter,
danke für den schnellen Fix!
Herzliche Grüße
Equilora aka Harald