Hey Leute,
kennt von euch jemand eine möglichst kompakte Library für
Spracherkennung, die man auf einer Cortex-M7 CPU laufen lassen kann?
Audio-Input kommt via PDM Mems Mikrofon.
Es muss natürlich nicht die gleiche Intelligenz wie Alexa oder Siri
haben, aber einfache Befehle erkennen können um ein paar GPIOs zu
schalten.
Danke!
Alternativ könnte ich mir tatsächlich auch eine Anbindung an eine
Cloud-basierte Lösung vorstellen, sodass ich das Audio über eine
Ethernet-Verbindung tunneln würde. (falls sowas schonmal jemand probiert
hat)?
Johannes S. schrieb:> aber das ist sicher keine Lib die man mal eben einbindet.
Vor allem sollte man einige Kenntnisse in der Problematik der
Spracherkennung haben! Und das ist nicht wenig...und wird auch bei
vorhandener "Bibliothek" keine "sorglos" Applikation werden. Abgesehen
davon kenne ich erst mal keine Software für den Cortex-M7. Heist aber
nix...
Gruß Rainer
Das einzige Projekt in der Richtung das ich kenne ist.
https://www.audeme.com/movi.html
Und sobald ich einen Deutschen Händler finde, werde ich es mir zulegen.
Aber die USA sind kein Land in den ich gerne bestellen würde. Die
Versandkosten schlagen mir auch den Magen.
Alexa schrieb:> Es muss natürlich nicht die gleiche Intelligenz wie Alexa oder Siri> haben, aber einfache Befehle erkennen können um ein paar GPIOs zu> schalten.
Und sicher hast du vermutlich keine Lust, dir zu überlegen, wie du das
selbst implementieren würdest :-) Zumindest Rohdatenaufbereitung und die
eigentliche Erkennung sollten als Konzept da sein und vielleicht noch
das Bewußtsein, dass das eine harte Echtzeit-Aufgabe ist...
Wünsche trotzdem viel Spass. Gruß Rainer
Google-Suchmuster: speech recognition chips
liefert z.B. ein Nuvoton ISD9160 der als Board unter 20€ kostet.
DigiKey hat ein DemoBoard: ISD-DMK_9160-ND
Und dort ist auch ein Datenblatt verlinkt.
Das zeigt schon mal was auf einem Microcontroller möglich ist.
Weitere Treffer habe ich nicht geschaut, aber vielleicht ist die
gewünschte Library dabei.
Bei den Movi-Projekt setzten die eine A13 CPU nur für die
Audio-Umwandlung und die Sprache ein. Offiziell schafft die 150 Worte,
es sollen laut Foren bis zu 200 möglich sein.
Da man das Teil aber via Schnittstelle selbst programmieren kann, sollte
es kein großes Problem sein, via Kombi's auch mehr Freiheit zu
programmieren.
Das ganze wird dann via Arduino angesteuert. Ich kann mir eine
Ansteuerung via Beere auch vorstellen. Wenn du was größeres vor hast,
sollte es möglich sein, die Daten vom Arduino weiterzuleiten.
In meinen Augen ist das Problem aber weniger ein Hardware als eine
Software frage. Du musst die Sprache in Phoneme zerstückeln, die dann
erkennen und in der Datenbank nachschauen. Das Problem dabei ist, das
jeder Mensch unterschiedlich spricht.
Ich erinnere mich noch an eine Cbit wo die DRAGON-SPEAK vorgestellt
haben, und die nette Dame mit sehr trainierter Stimme das vorgeführt
hat. Dabei hat sie erklärt das man den System erst man 2 Std. seine
Aussprache mitteilen muss und auf meine Frage wie das ist wenn ich
Abends gefeiert habe, sagte sie das würde die Erkennung um 40-60 %
vermindern.
Das Problem ist immer noch aktuell, nur haben die Server bei den
Anbietern genug Power das zu kompensieren unter der Voraussetzung das du
nur Standard-Sachen redest. Ich weiß bis heute noch nicht wie man bei
Android einen PUNKT oder einen Absatzschaltung diktiert. ;)
Und wie gesagt, die haben mehr Rechenpower als dein armseliger Chip. Und
das Movi-System musst du an deine Sprache trainieren.
Alexa schrieb:> kennt von euch jemand eine möglichst kompakte Library für> Spracherkennung, die man auf einer Cortex-M7 CPU laufen lassen kann?
Also das ist mir wie immer jetzt zu wenig an Angaben. Es macht schon
einen kleinen Unterschied, ob du für dein Wohnzimmer etwas
Konfortableres als den lausige Klatschschalter, "Licht ein, Licht aus"
haben möchtest oder ob du mit dem gesprochenen Begriff eine Suchmaschine
antriggern möchtest. Es geht - wie gesagt - sehr schnell in Richtung
harter Echtzeit, denn du möchtest wahrscheinlich nicht 5 sek oder länger
warten, wenn du z.B. "Stop" ausgeführt haben willst! Oder bei einem
Abfragewunsch das beliebte "habe ihren Wunsch nicht verstanden, bitte
wiederholen" quasi in Echtzeitschleife endlos ausführen möchtest.
Gruß Rainer
Schlaumaier schrieb:> Das Problem dabei ist, das> jeder Mensch unterschiedlich spricht.
Genau.
Mit Training für einen Sprecher kann man Spacherkennung für einige
Wörter sogar auf sehr kleinen µC implementieren, sogar auf welchen in
der Größenordnung etwa eines Tiny85.
Aber eine Spracherkennung für beliebige Sprecher, das ist eine ganz
andere Dimension, selbst wenn es nur um einige wenige Schlüsselwörter
geht und nicht noch um eine semantische Analyse des Gesagten.
Selbst bei diesem Alexa Lautsprecher funktioniert die Spracherkennung
schlecht. Es wurde bekannt, dass er viel zu häufig aktiviert wird,
obwohl niemand das Kommando gegeben hat.
Alexa schrieb:> kennt von euch jemand eine möglichst kompakte Library für> Spracherkennung, die man auf einer Cortex-M7 CPU laufen lassen kann?
Scheint wohl einer der Stammtischfragen zu sein, bei denen das nächste
Bier wichtiger ist...ich antworte jetzt mal einfach mit Nein. Würde mich
wundern, wenn jemand mit einen Ja käme, ohne die üblichen Mutmassungen
und Selbstdarstellungen, die so eine Frage immer nach sich zieht! Also
was willste machen...Alexa...
Gruß Rainer
Schlaumaier schrieb:> Ich erinnere mich noch an eine Cbit wo die DRAGON-SPEAK vorgestellt> haben,
Das wurde mal mit OS/2 Warp ausgeliefert und sollte da ein Zugpferd
sein. Es hatte auch den Anspruch ein Diktiersystem zu sein, also
beliebige Texte erkennen zu können. Aber richtig praxistauglich war es
durch zu hohe Fehlerrate nicht und es hat die damals aktuellen 486er
ganz schön lahmgelegt.
In PKW sind die Systeme aber schon recht gut, vor min. 12 Jahren hatte
BMW schon einen Sprachassistenten der Kommandos ganz gut versteht. Auch
Zahlen zur Telefonnummerneingabe, auch wenn die in zusammhängenden
Blöcken gesprochen werden.
Da sitzt man nah am Mikrofon und hat wenig Umgebungsgeräusche. Für eine
Alexa ist es da schon schwieriger, bei 2 m Abstand und sehr Variablem
Satzbau.
Stefan ⛄ F. schrieb:> Selbst bei diesem Alexa Lautsprecher funktioniert die Spracherkennung> schlecht.
das ist zwar nur das Aktivierungswort, aber wenn das zu unempfindlich
ist, dann macht das ja auch keine Freude.
Alexa benutze ich mit ioBroker, da können dann beliebige Geräte
gesteuert werden, auch Selbstbau Aktoren über eigene Schnittstellen.
Aber das ist dann auch wieder die fette Cloud Lösung.
Naja, Google hat auch eine OFFLINE-Spracherkennung. Funktioniert
halbwegs brauchbar, ABER die erkennbaren Worte sind sehr begrenzt und
von der Phonetik her sehr unterschiedlich und deshalb einfach zu
erkennen.
Ist m.M.n. das selbe Verfahren wie das Movi-Zeug. Die greifen da ja
teilweise auch auf offenen Libs zu.
Fakt ist aber. Die ganze Technik ist kompliziert. Wir brauchen noch 20
Jahre bevor es wie bei der Enterprice funktioniert. Und selbst das ist
ein ONLINE-System. ;)
Schlaumaier schrieb:> Und sobald ich einen Deutschen Händler finde, werde ich es mir zulegen.> Aber die USA sind kein Land in den ich gerne bestellen würde. Die> Versandkosten schlagen mir auch den Magen.
Du kannst mal bei mouser.de schauen. Die versenden aus USA, aber ab
50Euro (netto) fallen keine Versandkosten an. Das spezielle Board konnte
ich dort nicht finden, aber das liegt auch an dem ungünstigen
Suchbegriff "MOVI" für den es 426 Treffer gibt.
Die Preise dort sind immer Nettopreise, d.h. die Mehrwertsteuer musst du
noch dazurechnen.
Michael
https://github.com/espressif/esp-sr
Nix für den Cortex aber für den ESP32.
Evtl gibt es da Hinweise. Man scheint eigene Wörter anlegen zu können.
Hab es noch nicht asuprobiert und weiß nicht wie gut das funktioniert
In der c't wurde vor langer Zeit mal Snips vorgestellt. Das war ein
Cloudservice der mit eigenen Kommandos angelernt werden konnte. Aber
keine Ahnung ob es das noch gibt.
Michael D. schrieb:> as spezielle Board konnte> ich dort nicht finden, aber das liegt auch an dem ungünstigen> Suchbegriff "MOVI" für den es 426 Treffer gibt
Ich vermute eher das es deshalb ist, weil es ein Crowdfunding Modul ist.
Und von der Entwicklergruppe selbst vertrieben wird.
Johannes S. schrieb:> Jason schrieb:>> Google? Hat nicht mein Vertrauen.>> aber sowieso schon alle deine Daten...
Da ich Google nicht verwende und alle Seiten, die mit Google verbunden
sind, von uMatrix & uBlock Origin blockieren lasse, ist die Frage woher
Google meine Daten hat und vor allem welche?
funky schrieb:> In der c't wurde vor langer Zeit mal Snips vorgestellt. Das war ein> Cloudservice der mit eigenen Kommandos angelernt werden konnte. Aber> keine Ahnung ob es das noch gibt.
Vor zwei Jahren von Sonos aufgekauft und vom Markt genommen.
No Y. schrieb:> Hat keiner meinen Beitrag gelesen?? Was spricht hier dagegen?
Alexa beteiligt sich die ganz Zeit nicht an ihrer eigenen Diskussion.
Beschwere dich bei ihr, nur sie kann etwas zu deinem Vorschlag sagen.
Alle anderen wissen schließlich nicht, ob es für sie "etwas
professionelles" sein darf.
Alexa schrieb:> Alexa
...ist vermutlich eine KI, die mal testen will, wie sehr ihr die
Bleichgesichter schon auf den Pelz rücken könnten :-)
Gruß Rainer
Rainer V. schrieb:> ...ist vermutlich eine KI, die mal testen will, wie sehr ihr die> Bleichgesichter schon auf den Pelz rücken könnten :-)
Wohl eher: klassischer Traffic-Troll. Der Seitenbetreiber liebt die...
In edge impulse ist das schnell zusammengeklickt. Nur Rohdaten musst du
halt sammeln oder irgendwo finden. Sollte dann laufen aber die frage ist
halt mit wieviel Verzögerung auf einem MCU. M7 kann zwar relativ mächtig
sein ...