1.30.1.3.1.2. KogniMirror-Dialog¶
Kontakt: | Alexander Neumann <alneuman@techfak.uni-bielefeld.de> |
---|---|
CITK: | |
Vorbedingung: | Es wird benötigt:
* speech_recognition <https://github.com/Uberi/speech_recognition>
* pocketsphinx <https://github.com/cmusphinx/pocketsphinx> (Python)
* Deutsches CMUSphinx/pocketsphinx sind Spracherkenner und haben mit dem Dokumtationstool Sphinx keine Gemeinsamkeiten. |
Quickstart: | Das Paket installiert eine Anwendung namens ${prefix}/bin/smartdialog [${prefix}/etc/dialog]
Sonst wird auf die Grammatiken im Paket zurückgegriffen. ACHTUNG: Der Nutzer, der |
1.30.1.3.1.2.1. RSB-Schnittstellen¶
Scope | Type | Description |
---|---|---|
/io/display/mirror/model/mode | string | Lädt Grammatik passend zum aktuellen GUI-State |
Scope | Type | Description |
---|---|---|
/io/display/mirror/faceMode | string | (De-)Aktiviert bei Bedarf die Gesichtserkennung |
/io/display/mirror/model/mode | string | Setzt den GUI-Modus anhand von Sprachnachrichten |
/io/display/mirror/model/speechDetected | string | Sendet den erkannten Phrasenstring |
/io/display/mirror/model/speechEnabled | boolean | Signalisiert ob Spracherkennung aktiv (durch Hotword) |
/io/display/mirror/model/widgets/<widget>/enabled | boolean | (De-)aktiviert ein beliebiges Widget |
1.30.1.3.1.2.2. Hinweise¶
Es gibt view Komponenten die Einfluss darauf haben, wie die Spracherkennung opperiert:
- transitions.yaml – ist Teil des smartmirror_dialog-Paketes; Hier werden State-Übergange definiert, sowie die State-Namen und die regulären Ausdrücke, welche einen Übergang auslösen
- <state_name>.gram – Zu jedem State, der Spracherkennung nutzen möchte muss eine genauso
benannte
*.gram
-Datei existieren, welche die zugelassenen Phrasen in dem State definiert. Gram-Files können entweder im Ordnerpfad liegen der beim Starten übergeben wird oder im Paket selber. - Sprachmodell-Dictionary – ist Teil des Pocketsphinx-Sprachhmodells (
*.dict
). Hier sind alle Wörter vermerkt, die CMUSphinx erkennen kann. Wenn Wörter hier nicht vorkommen können sie NICHT in Gram-Files genutzt werden. Groß- und Kleinschreibung beachten! Sollte ein Wort in einer Gram-File genutzt werden, welches hier nicht vorkommt, kann kein Sprach-Finite-State-Graph erzeugt werden und die Spracherkennung stürzt ab. - Hotword-Snowboy-Modell – Aktuell reagiert der Spiegel auf das Hotword ‘smart mirror’. Sollte ein
anderen Code-Wort benutzt werden, kann
smart_mirror.umdl
im Paket durch ein anderes Snowboy <https://snowboy.kitt.ai/> umdl/pmdl ersetzt werden. Der Name muss gleich bleiben oder im Code angepasst werden.