Hi, ich brauche eine simple Spracherkennung die in Software gemacht ist. Je weniger Prozessorlast um so besser. Auch wenn da wohl kein AVRtiny reicht, sollte es auch nicht gleich ein RPI4 sein den man braucht. Ich habe aktuell noch einen ESP der sich langweilt, und das wollte ich gerne ändern. Ob der am Ende reicht wird man ja schnell feststellen. So ich will NUR 80-300 Worte erkennen und diese dann weiter verarbeiten. Also "Licht", "Motor", "an", "aus", "auf","zu",..... Ich habe zwar einiges gefunden aber alles war dann viel zu Fett oder in Sprachen die mehr zum PC passen. Hardware habe ich auch gefunden aber das wollte ich ja nicht.
:
Verschoben durch Admin
Karl schrieb: > ich brauche eine simple Spracherkennung die in Software gemacht ist. > Je weniger Prozessorlast um so besser. Wenn es rein offline sein soll kenne ich nur dieses System. https://www.audeme.com/movi.html Leider nicht sehr günstig aber dafür wenigstens sicher vor der pösen Jungs. ;)
Karl schrieb: > Ich habe aktuell noch einen ESP Welchen auch immer, wohl nicht 32. Also auf dem Stand der Mikroprozessoren von 1980. Dann musst du auch so alte Lösungen nehmen. 300 Worte werden das eher nicht.
Sollen wir dir deine Masterarbeit schreiben ?! https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwikipLg65XrAhUIsaQKHSUiDucQFjADegQIBRAB&url=https%3A%2F%2Fwww.unibw.de%2Ffmff%2Flehre%2Fstudentischearbeiten%2Fpama_spracherkennung.pdf%2Fdownload&usg=AOvVaw00iQiUkAwyay0RKlBBKPW5 https://commons.erau.edu/cgi/viewcontent.cgi?article=1270&context=jaaer
ESP8266 wobei ich die ESP32 hätte. Über das MOVI™ Arduino Shield stolpert man ja überall, nur das ist nicht das was ich suche. Ansonsten hätte ich das schon besort und hier nicht gefragt. Die UNI ist schon einige Jahre her, das ganze ist da auch mehr privater natur. Bei mir an der Arbeit kann man so was nicht mal ansatzweise gebrauchen. Ich will auch kein ALEXA Ersatz oder so ähnlich bauen.
Karl schrieb: > ber das MOVI™ Arduino Shield stolpert man ja überall, Ich leider nicht. Ich habe fast 6 Monate gebraucht um es zu finden. Und meine Bekannte kannten es auch nicht, bis ich es ihnen sagte. Davon abgesehen ist Spracherkennung so aufwendig das man da ein bisschen mehr braucht als ein lausigen Arduino / bzw. ESP. Das kannst du ergo ohne Hilfsprozessor gleich vergessen. Was wohl der Grund ist, warum die bei den Movi ein drauf gemacht haben.
Was du aber mit ein Arduino machen kannst ist ihn Morsebefehle zu geben. Also Langer Ton = Befehls modus. Dann kurz + Lang analysieren und dann den Befehl ausführen wenn wieder ein langer Ton kommt. ;) In ähnlicher Form wie ein Klatschschalter aus den Baukasten meiner Jugend.
Nur so als Beispiel für geht nicht auf einem kleinen Prozessor: TrulyHandsfree läuft auf einem M4. Den Code dazu wäre super, aber das wäre ja auch zu schön.
Karl schrieb: > So ich will NUR 80-300 Worte erkennen > und diese dann weiter verarbeiten. > Also "Licht", "Motor", "an", "aus", "auf","zu",..... Sowas läuft unter "Stichworterkenner". Dazu braucht man nicht allzuviel Prozessorleistung, und wenn man sich auf wenig Wörter beschränkt, dann könnte die Genauigkeit ausreichen. Im Endeffekt läuft das auf klassische Signalverarbeitung, gefolgt von Sprachverarbeitung raus. Frühe IBM- und Microsoft-Spracherkennung lief auf 486ern mit ein paar MB RAM, drunter wird's bei dir eher nichts. Macht man heutzutage nicht mehr, weil KI-Systeme schlicht besser sind, wenn man sie ordentlich trainiert. Mein unbegründetes Gefühl sagt, dass man mit vergleichbarer Rechenleistung auch Inferenz auf einem kleinen neuronalen Netz fahren kann und bessere Ergebnisse bekommt - der Aufwand liegt im Training.
Karl schrieb: >> Den Code dazu wäre super, aber das wäre ja auch zu schön. > am besten ber PM Unangemeldet?
S. R. schrieb: > KI-Systeme Suchtipp: Sipeed Maix dock Oder einer seiner K210 Brüder Mikrofon FFT Neuronales Netz Für wenige Dutzend Euronen KA, ob das für den Zweck reicht... :-) Aber immerhin mit der Arduino IDE nutzbar :-)
Hast Du für einen "Stichworterkenner" eine gute Quelle? Was man heute macht oder nicht ist mir egal, Haupsache ich kann die paar Wörter recht sicher erkennen. Die alte Technik muss nicht schlechter sein, sie ist halt nur nicht was mit KI. Ich muss die Wöter ja nicht wirklich verstehen und anhand vom Kontext reagieren. Sagen wir mal wir würden einen STM32F4 oder besser einen H7 nehmen. Die DSP Einheit macht eine FFT recht flott. Auch andere Filter sind für den kein Problem. Und ein kleines Neuronales Netz sollte der auch packen. Aber das fehlt mir und die Daten dazu auch. Anmelden? Ja das könnte ich machen, aber wird mir das dann helfen?
Karl schrieb: > Hast Du für einen "Stichworterkenner" eine gute Quelle? Ich hätte während meines Studiums ein längeres Projekt haben können, wo ich einen ebensolchen auf Basis klassischer Signalverarbeitung entwickeln sollte. Habe das Projekt dann aber nicht durchgeführt. Nein, fertigen Code habe ich nicht. Stichwörter, um sowas selbst zu machen, sind "Cepstrum", "Quefrenz", "MFCC" (Mel Frequency Cepstral Coefficients) und so. Die Idee der Spracherzeugung ist recht einfach: Ein Anregungssignal (stimmhaft = Impulszug, stimmlos = weißes Rauschen) wird durch ein lineares Filter (Rachen, Mund, Nase; z.B. als Röhrenmodell mit 2x7 Parametern abgebildet) geschoben (gefaltet) und ergibt das fertige Audiosignal. Das kann ein C64. Was du willst ist, aus dem Tonsignal die (bekannte) Anregung zu entfernen (via Cepstralanalyse - recht einfach) und aus dem Rest dann die Filterkonfiguration für einen gewissen Zeitraum (gefenstert, z.B. überlappende 10ms-Blöcke) zu ermitteln. Die Filterkonfiguration entspricht dem aktuellen Phonem, und aus der Phonemfolge bastelt man sich dann die Wörter und Sätze zusammen. Um das korrekt zu machen, braucht man übrigens auch einiges an Training, wenn auch wesentlich weniger als bei NNs. Wenn du es nicht selbst entwickeln willst, dann schau dich bei den gegebenen Beispielen um. Karl schrieb: > Die alte Technik muss nicht schlechter sein, > sie ist halt nur nicht was mit KI. Nun, sie ist für breite Anwendungsfelder nachweislich schlechter. Deswegen nutzt man ja alternative Ansätze. Karl schrieb: > Ich muss die Wöter ja nicht wirklich verstehen und anhand vom > Kontext reagieren. Die Wörter "erkennen" ist Signalverarbeitung, die Wörter "verstehen" ist Sprachverarbeitung. Beides wirst du brauchen, auch wenn es nur ein rudimentäres "wenn >Licht an< führe Funktion LichtAn() aus" ist. Karl schrieb: > Anmelden? Ja das könnte ich machen, aber wird mir das dann helfen? Ohne Anmeldung keine PMs. Simpelste Logik.
Cooler Thread, ich such auch eine offline Spracherkennung für µC
Cool ja, nur ist noch nichts greifbares rausgekommen. Warte auch gespannt auf ein Ergebnis (Code). Also wenn ich das richtig verstehe dann wird der Ton über eine Cepstralanalyse rein geholt und dann könnte man diese Daten einem nn als Futter geben oder über die Phonemfolge und einer Tabelle die Wörter erkennen. Klingt für mich nach machbar für einen m4. Nur ich bin der falsche Mann dafür, weil ich damit noch nie was zu tun hatte. Aber Interesse habe ich schon, weil mir da ein paar Projekte einfallen die man damit machen könnte.
Peter schrieb: > Cool ja, nur ist noch nichts greifbares rausgekommen. > Warte auch gespannt auf ein Ergebnis (Code). Von mir wird keiner kommen. Kauft euch für ein paar Euronen ein Arduino-Shield mit einem GHz-SoC, der kann das auch. Peter schrieb: > Also wenn ich das richtig verstehe dann wird der Ton > über eine Cepstralanalyse rein geholt Nö, kommt aus einem ADC-Wandler hinter einem Mikrofon. > und dann könnte man diese Daten einem nn als Futter geben Wenn du da ein NN draufschmeißen willst, dann kannst du das auch mit den Audiosamples direkt machen. Spart Rechnerei. > oder über die Phonemfolge und einer > Tabelle die Wörter erkennen. Erstmal die Phonemfolge erkennen... du willst aus einem logarithmierten und fouriertransformierten Signal den siebenstufigen Filter rekonstruieren, der das originale Signal mal erzeugt hat, unter Annahme einer bestimmten Anregung. Stichwort dafür ist "Hidden-Markov-Modell", das sind statistische Verfahren. ("Hidden", weil du den Filterzustand nicht kennst.)
Na super, nix mit einfach. Schade das ich das zwar gebrauchen könnte aber nicht in der Lage bin es selbst zu machen. Wünschet ich könnte es, dann viel Glück dabei.
Bei der Vorführung auf einer Conference hat es zwei Worte detektiert (On/Off), aber nur mit ~30% Richtigkeit ...... https://codelabs.developers.google.com/codelabs/sparkfun-tensorflow/#0
Kann sich noch jemand an dieses Silberfarbene DDR Heftchen zur Spracherkennung mittels 8 analogen Filtern und U880 erinnern?
Ist jetzt auch wieder lächerlich...wenn überhaupt, dann macht man das über Neuronale-Netze. Die Programmierung und die Umsetzung sind dann noch zwei Paar Schuhe! Für Beides scheint beim TO kein Verständniss vorhanden zu sein. Also warten wir ab!! Gruß Rainer
Im Prinzip ganz einfach. Arm Cortex + schnelle Speicheranbindung, etwas Signalverarbeitung aus dem dritten Semester und gute C/Assembler-Kentnisse. Schönes WE-Projekt, viel Erfolg.
Assembler schrieb: > Cooler Thread, ich such auch eine offline Spracherkennung für µC Auf einem ATtiny oder an was für einen µC hast du gedacht?
Der alte Philips C-Netz Tornister mit Spracherkennung für die Ziffern 0-9, 'Auflegen' und 'Wählen' hatte das mit einem 25Mhz TMS32C025 DSP, 32kB ROM, 32kB RAM und etwas schnellem Dualport RAM zur Kommunikation mit der Ablaufsteuerung gelöst. Die ROMs sind allerdings schon lange bei den Engelein und den Rest der Hardware habe ich auch zerlegt...
yusuf schrieb: > Nimm Lallus: http://www.wolfgang-back.com/lallus_home.php Und lerne DTMF Töne zu pfeifen, sonst wird das mit der "Sprach"erkennung damit schwer...
Also ich arbeite meistens mit dem stm32f4.. Und gelegentlich auch noch mit einem 8052 & avr. Der TO Arbeitet anscheinend mit den esp8266, an diese habe ich mich noch nicht getraut. Wie auch immer ich habe hier von keine Ahnung und kann es nur gebrauchen.
Ich bin mal über das Projekt Snips gestolpert, braucht aber einen RasPi. Die Webseite dazu ist makers.snips.ai.
Der Unwissende schrieb: > Ich bin mal über das Projekt Snips gestolpert, braucht aber einen RasPi. > Die Webseite dazu ist makers.snips.ai. Snips wurde von Sonos gekauft und ist seitdem für andere leider nicht mehr verfügbar
Hier wurde irgendwann mal matrix voice vorgestellt. Kostet aber $65 + ggf. RPi, hab es nicht genau durchgelesen was mit/ohne geht //hufnala
Wenn nur ein Pfifpchen erkannt werden soll, dann kann man alles Mögliche veranstalten. Sonst... Gruß Rainer
Da Snips wohl ein Schuss in den Ofen war habe ich etwas gewühlt und bin auf Rhasspy gestoßen was auch Interessant zu sein scheint. Allerdings finde ich spontan keinen Hinweis die Software auf einem ESP32 laufen zu lassen. Nach erstem überfliegen von https://rhasspy.readthedocs.io/en/latest/ macht es auch mich neugierig auf eine eigene Installation um den einen oder anderen ESP8266 (mit Tasmota) im lokalen Netz per Sprache zu bedienen.
duck&wech schrieb: > Auf einem ATtiny oder an was für einen µC hast du gedacht? Könnte auch mit einem Tiny gehen. Indem man diesen per Bluetooth ans Handy koppelt und das Handy an Google. Fertig. ;-)
Danke das Ihr euch so einbringt und wie es aussieht bin ich nicht der einzige der so was braucht. Einige Antworten helfen bei der Suche, Andere nunja ist ein offenes Forum. Ich wollte eigentlich die Erkennung ungerne selber komplett schreiben, da kann es zuschnell passieren das ich in einer Sackgasse lande. Ich erwarte jetzt auch nicht das sich jemand hin setzt und das mal nur aus spaß für mich schreibt. Ich werde mich die nächsten Wochen dran machen und mal sehen was geht und was nicht. Ich gehe davon aus das nach den Einlesen der Audio Daten (MONO 8-10KHz) man diese über dieses Cepstrum Filtersystem am besten klein bekommt. Die Original Daten auf ein NN zu geben mag auf einem PC gehen, aber auf einen Kontroler wird es eng. Diese reduzierten Daten müssen dann auf ein kleines NN los gelassen werden. Da habe ich irgentwo noch ein paar kleine Systeme die recht handlich waren. Vielleicht geht aber auch eine einfache Reihenfolgenauswertung, wobei ich hier mehr Probleme erwarte. Aber die wäre schneller wenn sie den läuf. Wie gesagt ist jetzt erstmal ansehen der ganzen Informationen angesagt und dann vorsichtig ran tasten. Wird dauern, habe ja noch andere Sachen zu tun.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.