TonUINO mit SprachEINgabe

Seit ich über einen Kollegen von dem TonUINO-Projekt gehört habe, war ich von der intuitiven Menüführung über Sprachausgabe begeistert.

Da habe ich mich dann gleich gefragt, was nötig ist, um auch eine Spracheingabe, d.h. die Steuerung über gesprochene Sprache statt mit Tastern, zu ermöglichen. Man kennt das ja vom Handy, Smart-Speakern oder auch von Telefonhotlines.

Tatsächlich wusste ich von einem Arduino-Shield, der genau das ermöglicht: Der MOVI-Shield von Audeme versteht sprecherunabhängig bis zu 150 Befehle in natürlicher Sprache und muss dafür noch nicht einmal mit Sprachamples, sondern kann direkt mit Text-Strings angelernt werden. Auf dem Board werkelt ein Cortex A13 FPGA. Audeme sitzt in Kalifornien und einer der Entwickler ist Deutscher. Daher funktioniert MOVI auch mit Englisch, Spanisch und Deutsch. Die großen Nachteile sind aber, dass der Shield einen großen Arduino erfordert (Nano reicht nicht), 500mA bei 7-16V zieht, und mit 75$ einen stolzen Preis hat.

Nun habe ich eine deutlich preiswertere Option entdeckt: Das geetech Voice Recognition Module ist klein, verbrauchsarm (<40mA bei 5V), und kann bis zu 3 Gruppen mit je 5 Sprachbefehlen erkennen. Der Preis liegt auf Banggood bei derzeit nur 14,46€. Elektronisch kommuniziert es über UART. Eine Schritt-für-Schritt-Anleitung für den Arduino gibt es z.B. bei instructables.com.

Der Funktionsumfang ist natürlich deutlich eingeschränkter (nur 15Befehle, programmierbar über Voice-Samples) als bei MOVI, aber für einen sprachgesteuerten TonUINO dürfte das reichen.

Denkbar Befehle wie „Stopp“, „Weiter“, „Zurück“, „Lauter“, „Leiser“. Aber auch Antwortmöglichkeiten bei einem Quiz („A“, „B“, „C“) könnte man umsetzen. Man kann auch zum Aktivieren der Spracheingabe einen Aufweckbefehl („TonUINO!“) einführen.

Mir juckt es jedenfalls in den Fingern, das Geetech-Modul zu bestellen und einzubauen…

Bis dahin mache ich mir ersteinmal einen Earl Grey Tee, heiß. „Computer, …“ :coffee: :blush:

3 „Gefällt mir“

Dazu passt vielleicht das Video:

1 „Gefällt mir“

Der in dem Video gezeigte Grove Speech Recognizer ist auch sehr cool. Im Gegensatz zum geeetech Modul kann er sogar 22 verschiedene Sprachbefehle gleichzeitig unterscheiden.

Leider sind die nicht konfigurierbar. Das Grove-System wird immer mit „Hicell“ aufgeweckt und versteht dann die folgenden Befehle:

  • „Turn on the light“
  • „Turn off the light“
  • „Play music“
  • „Pause“
  • „Next“
  • „Previous“
  • „Up“
  • „Down“
  • „Turn on the TV“
  • „Turn off the TV“
  • „Increase temperature“
  • „Decrease temperature“
  • „What’s the time“
  • „Open the door“
  • „Close the door“
  • „Left“
  • „Right“
  • „Stop“
  • „Start“
  • „Mode 1“
  • „Mode 2“
  • „Go“

Das kann man nur begrenzt für einen TonUINO verwenden…

So ein Teil flattert auch bei mir rum, Grove Speech Recognizer.

Meine Erfahrungen zeigen eher bescheiden bis schlechte Ergebnisse der Spracherkennung. Wie auch schon im Video zusehen ist klappt es nicht immer.

Selbst die Spracherkennung eines Handys, 1x Mikrophon welches nicht dafür gedacht ist, bringt da bessere Ergebnisse, von den ‚Amazon Echo‘ Geräten ganz zuschweigen welche ein Microphonarray besitzen.

Also die Spracherkennung ist schlecht, reagierte nur ca. 4 mal von 20, auch nicht bei allen einprogrammierten Befehlen.

Ich wollte eigentlich Motoren steuern (Robot), aber das kann man mit dem Teil vergessen (da ist das Modell schon am Baum bevor es auf einen Sprachbefehl reagiert.

Konntest Du den Grove denn auf Deine Stimme anlernen? Meines Wissens versteht der nur bestimmte Befehle, kennt kein Anlernen und wird daher nicht auf die eigene Stimme optimiert.

Die Systeme werden zwar immer als stimmenunabhängig bezeichnet, aber dennoch dürfte die Erkennungsrate besser sein, wenn das System auch mit der eigenen Stimme trainiert wurde.

Selbstverständlich kann die Spracherkennung mit derart günstiger Hardware nicht an die eines modernen Onlinesystems (Handy, Alexa, etc.) herankommen, selbst wenn beide kein Mikrofonarray einsetzen.

Ich finde es schon klasse, dass da für 15 Euro (zumindest beim China-Preis) überhaupt was geht!

Hallo,

Deine Frage beantwortest du doch selbst, es gibt nur 22 Befehlsworte, das Aktivierungswort hast du auch erwähnt ‚Hicell‘.

Kein mir bekanntes System wird auf die eigene Stimme optimiert. Du hast eine bestimmte Aussprache, Slang etc., da wird so einem Befehlswort mehrere Worte ‚Aussprachen‘ hinterlegt sein , oder-Verknüpfung.

Ich denke da bewegen wir uns etwas aus dem bezahlbaren Bereich.

Meines Wissen besitzt ein Handy kein Mikrofonarray, Echo’s schon.
Und ich habe geschrieben, das ein Handy (mikrofon) nicht dafür gedacht ist, als Sprachaufnahmegerät für einen Sprachassistenten zudienen. Vielleicht werden die immer besser, aber eine Sprachsystem hat zB. ein Mikrofonarray von 6-7 Mikro’s, ein Handy m.W. 1 (eins).

Ok, das Chinateil hab ich noch nicht probiert, ich schreibe über das ‚Grove Speech Recognizer‘ Modul und es hat mich zu 90% nicht begeistert.
Was nutzt es 15€ beim Chinaman zu lassen wenn ich das Teil auch nur in die Tonne kloppen kann?
Aber ich werde es probieren und berichten.

Wenn es dann mal mit der Aktivierung ‚HiCell‘ geklappt hatte, war es wie schon berichtet von 20x, 4mal in der Lage etwas richtig zu verstehen.
Die 22 Befehle wie die heißen, zwar nicht stimmig ist ein wenig egal, da eine Zahl von 1-22 zurück gegeben wird.

@paulaner

Danke für den ausführlichen Bericht. Ich hatte meine Frage zwar schon selbst vorher beantwortet, aber nur auf Basis einer Beschreibung aus dem Internet. Selbst hatte ich es nicht ausprobiert. Ich hatte ohne größere Begründung irgendwie die Hoffnung, dass das Grove Modul vielleicht doch mehr kann. Dass dem nicht so ist, hast Du mir ja nun bestätigt.

Das ist eben der Unterschied zwischen dem Grove Modul und dem von geeetech. Letzteres kennt keine vorprogrammierten Wörter, sondern wird mit der eigenen Stimme angelernt. Damit versteht es diese zwangsweise besser als andere. Wie gut das funktioniert, ist natürlich eine andere Frage. Vielleicht passt das Wort optimieren hier auch nicht wirklich.

Zumindest von der Beschreibung her macht das Modul von geeetech genau das. Die Frage ist eben, wie gut das klappt. Aber in dem folgenden Video macht sich die Spracherkennung gar nicht schlecht, auch wenn die Kommandos jeweils nur 1,3s lang sein dürfen:

Etwas teurer gäbe es noch den EasyVR 3 Shield (ca. 50€). Der kann neben 28 vorinstallierten sprecherunabhängigen Befehlen (in 6 verschiedenen Sprachen inkl. Deutsch) auch noch 32 Befehle mit der eigenen Stimme lernen. Wenn man noch mehr Kommandos will, gibt es auch die Möglichkeit, weitere 336 sprecherunabhängige Kommandos hinzuzufügen, das erfordert aber eine spezielle Softwarelizenz für 199€. Das ist dann definitiv nicht mehr günstig. Siehe auch hier: https://1sheeld.com/1sheeld-vs-easyvr3-voice-recognition-shield/

1 „Gefällt mir“

ok, bei Banggood geetech Modul bestellt werde berichten.