Forum: Mikrocontroller und Digitale Elektronik Suche Modul um Wörter zu vergleichen


von Guest (Gast)


Lesenswert?

Hi Leute,

ich benötige ein Modul, mit dem ich Wörter vergleichen kann. Ähnlich wie 
diese Module, durch die Klatsch Geräusche festgestellt werden. 
Allerdings möchte ich selbst dieses Wort festlegen können. Bzw. kann ich 
dieses Wort einfach über eine Mikrofonkapsel aufnehmen und dann im µC 
vergleichen?

Mein Ziel ist nämlich das Herstellen eines kleinen Gerätes, welches 
einem bestimmte Wörter abgewöhnt. Das können zum Beispiel kurze 
Füllwörter bei Vorträgen wie beispielsweise "ähm" sein. Wird dieses Wort 
gesagt, so wird über einen Elektroschocker die betroffene Person kurz 
geschockt.

Den Elektroschocker habe ich schon fertig, bei der Spracherkennung 
happert es noch ein wenig. Für mich würde es 2 mögliche Varianten geben:

1) Eine Keramik-Mikrofon Kapsel und das betroffene Wort ersteinmal 
aufnehmen. Dann das Abbild des Wortes irgendwo abspeichern (SD Karte?? 
Dadurch würde das Projekt aber wieder an Größe gewinnen...) Allerdings 
stellt sich hier die Frage, wie die Wörter verglichen werden sollen, da 
wenn man das gleiche Wort 2 mal hintereinander sagt, es sich immer 
anders anhört...

2) Über ein vorgefertiges Modul, bei dem man nur ein Wort vorspeichern 
muss und das Modul den Rest übernimmt. Aber gibt es solche Module??

Hat schon jemand Erfahrung auf diesem Gebiet bzw. was haltet ihr von dem 
Projekt? (den Elektroschocker habe ich schon getestet und er ist 
ungefährlich...)

von holger (Gast)


Lesenswert?

>Den Elektroschocker habe ich schon fertig, bei der Spracherkennung
>happert es noch ein wenig. Für mich würde es 2 mögliche Varianten geben:

Tri, tra, trollala...

>Allerdings
>stellt sich hier die Frage, wie die Wörter verglichen werden sollen, da
>wenn man das gleiche Wort 2 mal hintereinander sagt, es sich immer
>anders anhört...

Ach was.

von Chris K. (chrisk86)


Lesenswert?

Eine sehr interessante Idee ;)

Hier hat mal einer ein Modul von Conrad vorgeschlagen. Vielleicht gibts 
das noch:
Beitrag "Einfache "Spracherkennung"?"

Chris

von Magnus Müller (Gast)


Lesenswert?

Guest schrieb:
> Füllwörter bei Vorträgen wie beispielsweise "ähm" sein. Wird dieses Wort
> gesagt, so wird über einen Elektroschocker die betroffene Person kurz
> geschockt.

Böser Plan!

> bzw. was haltet ihr von dem Projekt?

Wenig.

> den Elektroschocker habe ich schon getestet und er ist ungefährlich

Erzähl das mal deinem "Patienten".

von spess53 (Gast)


Lesenswert?

Hi

>Den Elektroschocker habe ich schon fertig, bei der Spracherkennung
>happert es noch ein wenig.

Dann solltest du den dann immer an dir selbst austesten, wenn du wieder 
solche blödsinnigen Ideen hast.

MfG Spess

von Chris K. (chrisk86)


Lesenswert?

Achja, nochwas:
Wie wäre es, wenn statt Elektroschock eine LED aufleuchtet? Das wäre für 
den Patienten vielleicht etwas angenehmer ;)

von Guest (Gast)


Lesenswert?

So stark ist der Schock auch wieder nicht =) Außerdem soll das Gerät nur 
für mich selbst sein, weil ich mir sowas abgewöhnen will....

Und ich baue es eigentlich nur, weil ich irgendwas einmal selbst bauen 
will und mir zur Zeit langweilig ist ;)

Wenn hier noch jemand produktive Vorschläge hat, nur her damit =)

von Magnus Müller (Gast)


Lesenswert?

Guest schrieb:
> So stark ist der Schock auch wieder nicht =) Außerdem soll das Gerät nur
> für mich selbst sein, weil ich mir sowas abgewöhnen will....

Faule Ausrede.

> Und ich baue es eigentlich nur, weil ich irgendwas einmal selbst bauen
> will und mir zur Zeit langweilig ist ;)

Und da kommt man auf so einen Schrott.

> Wenn hier noch jemand produktive Vorschläge hat, nur her damit =)

Selbstschussanlage. Darf nur aktiv werden wenn sichergestellt ist, dass 
ausser dir keine Personen in der näheren Umgebung sind.

von holger (Gast)


Lesenswert?

>Und ich baue es eigentlich nur, weil ich irgendwas einmal selbst bauen
>will und mir zur Zeit langweilig ist ;)

Ein Moodlight kann auch entspannend sein.
Man merkt doch das gerade Ferien sind.

von spess53 (Gast)


Lesenswert?

Hi

Tiere richtet man ab, indem man richtiges Verhalten belohnt. Nicht indem 
man falsches bestraft. Frag mal deine Freundin, ob sie mitmacht.

MfG Spess

von Magnus Müller (Gast)


Lesenswert?

spess53 schrieb:
> man falsches bestraft. Frag mal deine Freundin, ob sie mitmacht.

Das ist jetzt aber nicht ganz jungendfrei... ;)

von Guest (Gast)


Lesenswert?

Jetzt übertreibt mal bitte nicht so maßlos.... Ein normaler 
Elektroschocker, den es zum Kaufen gibt zur Selbstverteidigung hat 250 
000 V. Mein Elektroschocker hat 1500 V und das bei einer extrem geringen 
Stromabnahme. (mir ist schon klar, dass ab 35 V es Lebensgefährlich 
wird, allerdings nicht, wenn der Strom so gering ist) Der ist absolut 
gefahrlos...

Wenn man elektrisch aufgeladen ist und irgendwo draufgreift, dann ist 
der Schock stärker.

Also ignorieren wir einfach für den weiteren Ablauf dieses Threads den 
Elektroschocker und schreiben nur noch über das 
Spracherkennungsmodul.... Dann hätte das ganze hier wenigstens noch 
etwas mit dem Thema zu tun....

von Magnus Müller (Gast)


Lesenswert?

Nö.

von holger (Gast)


Lesenswert?

>Also ignorieren wir einfach für den weiteren Ablauf dieses Threads den
>Elektroschocker und schreiben nur noch über das
>Spracherkennungsmodul.... Dann hätte das ganze hier wenigstens noch
>etwas mit dem Thema zu tun....

Ungefähr sechs Zehnerpotenzen zu hoch für dich.

von Guest (Gast)


Lesenswert?

Zum Glück ist das Niveau hier im Forum nicht extrem am Nullpunkt.... Man 
kann hier nicht einmal nach einem Spracherkennungsmodul fragen, ohne das 
x-Leute einem nur nerven, weil sie anscheinend nichts besser zu Hause 
zum tun haben.... Wenn ihr mir hier nicht helfen könnt, dann hört 
zumindest auf den Thread hier voll zu spammen...

von holger (Gast)


Lesenswert?

>zumindest auf den Thread hier voll zu spammen...

Du kannst ja einfach mal nach DSP und Spracherkennung
oder voice recognition googeln. Niemand hindert dich daran.

von Hans M. (hansilein)


Lesenswert?

Weiss auch nicht warum heute alle spinnen.
Also das ist eine sehr komplexe Aufgabe, Gegenstand aktueller Forschung 
und nicht mal so nebenbei zu lösen.

Software, die halbwegs Worte erkennen kann gibts z.B. hier:
http://www.nuance.de/naturallyspeaking/ Klappt gutwenn man deutlich 
spricht und die worte gut trennt. Auch dann werden nur Wörter aus dem 
Wörterbuch erkannt.

von Magnus Müller (Gast)


Lesenswert?

Guest schrieb:
> Zum Glück ist das Niveau hier im Forum nicht extrem am Nullpunkt.... Man
> kann hier nicht einmal nach einem Spracherkennungsmodul fragen, ohne das
> x-Leute einem nur nerven, weil sie anscheinend nichts besser zu Hause
> zum tun haben....

Das wäre kein Problem gewesen, wenn du nicht den Mist mit dem 
Elektroschocker erwähnt hättest.

> Wenn ihr mir hier nicht helfen könnt,

Wir könnten schon, aber es dürfte deinen Horizont sprengen ;)

> dann hört zumindest auf den Thread hier voll zu spammen...

Gibs einfach auf.

von Guest (Gast)


Lesenswert?

Meint ihr wirklich, dass das so schwer ist?

Klar ist es zur Zeit in der Forschung, aber z.B.: bei Windows gibt es ja 
auch diesen Zusatz, dass man alles mit den Worten regeln kann. Und da 
ist das Stimmbild der betroffenen Person nicht bekannt.

Bei mir ist es ja bekannt und ich kann diese Wörter ja mehrere male 
aufnehmen und damit eine bestimmte Toleranz bei diesem Wort 
feststellen...

Aber wie würdet ihr das wirklich realisieren? Mit einem einfachen 
Keramik-Mikrofon und die Ausgangsspannung über einen ADC im µC einlesen?

von holger (Gast)


Lesenswert?

>Aber wie würdet ihr das wirklich realisieren? Mit einem einfachen
>Keramik-Mikrofon und die Ausgangsspannung über einen ADC im µC einlesen?

Das sind ungefähr 0.00000000000001% von deinem Problem.
Der Rest ist die Software.

von Guest (Gast)


Lesenswert?

Ja von der Softwareseite her mache ich mir eher weniger Gedanken, ich 
frag mich nur wie ich die Signale in den µC digitalisiert bekomme....

Weil so eine Stimme hat doch nicht nur 1 Wert sondern mehrere... Also 
Tonlage, Lautstärke, ....
Und über dieses Keramik-Mikrofon bekomme ich ja schließlich eine 
Spannung?


Wenn ich die Werte erst einmal digitalisiert habe, kann ich ja einige 
Werte aufnehmen und vergleichen bzw. Vergleichswerte erstellen.
Das einzige Problem könnte die Sprechgeschwindigkeit sein, allerdings 
denke ich auch nicht, dass diese ein besonders großes Problem darstellt. 
Schließlich möchte ich ja nur ein einziges Wort erkennen und das nur von 
einer bestimmten Person.

von Magnus Müller (Gast)


Lesenswert?

holger schrieb:
> Der Rest ist die Software.

Und Rechenleistung des Prozessors ;)

Ich steige jetzt trotzdem aus. Mir wird sonst schlecht ;o)

von Jannek H. (Gast)


Lesenswert?

Natürlich ist das machbar.
Imho allerdings nicht mit einem µc, zumindest nicht mit einem Atmega 
oder vergleichbarem.
Hrdwaretechnisch ist das alles nicht sonderlich schwierig. aber von der 
Softwareseite kann ich dir nur davon abraten, das selbst zu basteln.
Klingt vllt. hart - aber vergiss es.
das einzige was unter Umständen machbar wäre, ist dass du 
Spracherkennung auf einem pc machst der dann auf welchem Wege auch immer 
die led schaltet. oder den Elektroschocker.  Mir egal - ich häng da ja 
nicht dran. Suizid ist in Deutschland auch nicht verboten, ich seh da 
gar kein Problem, soll jeder machen was er will...

gruß

von Magnus Müller (Gast)


Lesenswert?

Jannek Hisleiter schrieb:
> Suizid ist in Deutschland auch nicht verboten, ich seh da
> gar kein Problem, soll jeder machen was er will...

Aber Sterbehilfe ist nach wie vor eine rechtliche Grauzone ;)

Mist... hab ich meine Finger doch wieder nicht still halten können...

von Guest (Gast)


Lesenswert?

Warum soll den das so viel Rechenaufwand sein? Das sind nur ein paar 
Rechenoperationen.... Auf dem PC erkennt man ja nicht einmal, dass der 
Prozessor belastet wird, wenn man diese Sprachtools ladet.
Also sollte es doch ein atmega32 mit 16 MHz locker schaffen. (selbst 
wenn die Analyse etwas länger dauert und dann der Schock erst nach 2-3 
Sekunden kommt...)

Würde es aber vom digitalisieren her so funktionieren?

von holger (Gast)


Lesenswert?

>Wenn ich die Werte erst einmal digitalisiert habe, kann ich ja einige
>Werte aufnehmen und vergleichen bzw. Vergleichswerte erstellen.
>Das einzige Problem könnte die Sprechgeschwindigkeit sein, allerdings
>denke ich auch nicht, dass diese ein besonders großes Problem darstellt.
>Schließlich möchte ich ja nur ein einziges Wort erkennen und das nur von
>einer bestimmten Person.

Nimm einfach mal einen Satz per Soundkarte zweimal auf.
Danach vergleichst du die beiden Dateien. So kannst du
ganz einfach testen "wie einfach" das ist.

von Magnus Müller (Gast)


Lesenswert?

Guest schrieb:
> Warum soll den das so viel Rechenaufwand sein? Das sind nur ein paar
> Rechenoperationen....

Muahaha....

> Auf dem PC erkennt man ja nicht einmal, dass der Prozessor
> belastet wird, wenn man diese Sprachtools ladet.

So so..

> Also sollte es doch ein atmega32 mit 16 MHz locker schaffen.

Warum ist eigentlich noch keiner auf die geniale Idee gekommen, die 
schnarchlangsamen Multicoreprozessoren der PCs durch nen ATmega32 zu 
ersetzen? Es wäre soooo genial einfach. Nur 5V Versorgungsspannung... 
Kaum Verlustleistung...

Kleine Frage am Rande:  Wie alt bist du ?

von Guest (Gast)


Lesenswert?

Du verdrehst was ich sage... Und wenn du unter Vista das Sprachtool 
aktivierst, so wird nicht einmal 1% der CPU ausgelastet. Geht man jetzt 
von einem 2 GHz PC aus, so wären das ca. 2 000 MHz und 1% davon wären 
also 20 MHz.
Und einen atmega32 kann man auch mit 20 MHz betreiben... Zudem kommt 
noch hinzu, dass beim PC auf mehrere Stimmen und auf mehrere Wörter 
überprüft wird, was hier nicht der Fall ist. Außerdem kann ich das 
Programm für dieses spezielle Wort sicher stärker vereinfachen...

Ich bin übrigens 19 und im gegensatz zu dir, denke ich nicht so 
kleinkarriert und gebe sofort alles auf... Hätte Thomas Edison auch 
sofort aufgegeben, würdest du wahrscheinlich noch mit einer Fackel da 
sitzen...
Auf einem Computer habe ich auch schon eine Spracherkennung selbst 
programmiert, genauso wie ich schon ein eigenes OS geschrieben habe oder 
einen Roboter programmiert habe usw. Wie gesagt, bei der Softwareseite 
mache ich mir keine Sorgen...

So keine Lust jetzt weiter hier eure unnötigen Beiträge zu lesen, in 
denen nur steht, dass es unmachbar ist, nur weil ihr selbst es schaffen 
würdet...

Bei allen, die mir hier geholfen haben und produktive Antworten gegeben 
haben, möchte ich mich bedanken. Wenn ich fertig bin mit dem Projekt, 
werde ich es hier präsentieren.

von holger (Gast)


Lesenswert?

>Auf einem Computer habe ich auch schon eine Spracherkennung selbst
>programmiert,

Der hat ja auch unendlich viel RAM. Irgendwelche fertigen Libs
verwendet? Links zu deinem Projekt?

>So keine Lust jetzt weiter hier eure unnötigen Beiträge zu lesen, in
>denen nur steht, dass es unmachbar ist, nur weil ihr selbst es schaffen
>würdet...

Öhm, hier wurde behauptet das wir das mit einem ATMega32 nicht können.

>Bei allen, die mir hier geholfen haben und produktive Antworten gegeben
>haben, möchte ich mich bedanken. Wenn ich fertig bin mit dem Projekt,
>werde ich es hier präsentieren.

Das werde ich sicher nicht mehr erleben.

von Jannek H. (Gast)


Lesenswert?

Guest schrieb:
> Und wenn du unter Vista das Sprachtool
> aktivierst, so wird nicht einmal 1% der CPU ausgelastet. Geht man jetzt
> von einem 2 GHz PC aus, so wären das ca. 2 000 MHz und 1% davon wären
> also 20 MHz.
> Und einen atmega32 kann man auch mit 20 MHz betreiben...

netter vergleich...
leider, leider hat die Frequenz nur sehr wenig mit der Rechenleistung zu 
tun.
Ich habe selber sehr wenig Ahnung von der Materie, daher würde ich den 
Vergleich zwischen einem 8bit und 32bit Prozessor auch nicht wagen.
Das der Vergleich jedoch hinten und vorne hinkt, dessen bin ich mir 
sicher.
Qualitative Aussagen über die Rechengeschwindigkeit kann man (und auch 
das ist umstritten) beispielsweise anhand der FLOPS 
(Fließzahloperationen pro Sekunde) treffen.

Schön, wenn du das Softwareseitig hinbekommst, denn das wird wohl das 
schwerste sein. Wenn du das ganze in einen AVR bekommst - Hut ab. Ich 
bezweifle jedoch sehr stark dass es dazu kommen wird. Daher der 
(wirklich gutgemeinte) tipp, dass ganze auf einen PC auszulagern. Da mag 
es dann stimmen, dass er sich langweilt, wenn es nur um einzelne Wörter 
geht.
Was spricht denn gegen diese Lösung, wenn du sogar eine 
Spracherkennungssoftware für PC geschrieben hast?

gruß
jannek

von Magnus Müller (Gast)


Lesenswert?

Guest schrieb:
> Du verdrehst was ich sage...

Nö.

> Und wenn du unter Vista das Sprachtool
> aktivierst, so wird nicht einmal 1% der CPU ausgelastet. Geht man jetzt
> von einem 2 GHz PC aus, so wären das ca. 2 000 MHz und 1% davon wären
> also 20 MHz.

Tolle Rechnung... Warum bekomme ich auf einmal die beiden Worte "Äpfel" 
und "Birnen" nicht mehr aus meinem Kopf?

> Und einen atmega32 kann man auch mit 20 MHz betreiben... Zudem kommt
> noch hinzu, dass beim PC auf mehrere Stimmen und auf mehrere Wörter
> überprüft wird, was hier nicht der Fall ist. Außerdem kann ich das
> Programm für dieses spezielle Wort sicher stärker vereinfachen...

Außerdem arbeitet dein PC bestimmt nicht mit 8 bzw. 16 Bit. In deinem PC 
gibts auch noch ein wenig mehr an Arbeitsspeicher, DMA, Floating Point 
Coprozessoren...

> Ich bin übrigens 19 und im gegensatz zu dir, denke ich nicht so
> kleinkarriert und gebe sofort alles auf...

Nun wird aber Einer trotzig. Es rühmt dich natürlich wenn du dich nicht 
so schnell entmutigen lässt.

> Hätte Thomas Edison auch
> sofort aufgegeben, würdest du wahrscheinlich noch mit einer Fackel da
> sitzen...

Nicht nur ich. Auch du würdest jetzt bei Kerzenschein einen bitterbösen 
Brief an mich schreiben, der dann mit ein wenig Glück übernächste Woche 
bei mir ankäme.

> Auf einem Computer habe ich auch schon eine Spracherkennung selbst
> programmiert, genauso wie ich schon ein eigenes OS geschrieben habe oder
> einen Roboter programmiert habe usw. Wie gesagt, bei der Softwareseite
> mache ich mir keine Sorgen...
>
> So keine Lust jetzt weiter hier eure unnötigen Beiträge zu lesen, in
> denen nur steht, dass es unmachbar ist, nur weil ihr selbst es schaffen
> würdet...

Es wäre vielleicht sogar machbar. Dazu müsstest du aber die zu Verfügung 
stehenden Ressourcen des Mega32 sehr geschickt nutzen.

> Bei allen, die mir hier geholfen haben und produktive Antworten gegeben
> haben, möchte ich mich bedanken. Wenn ich fertig bin mit dem Projekt,
> werde ich es hier präsentieren.

Wir sind alle gespannt ;)

von spess53 (Gast)


Lesenswert?

Hi

>so wird nicht einmal 1% der CPU ausgelastet. Geht man jetzt
>von einem 2 GHz PC aus, so wären das ca. 2 000 MHz und 1% davon wären
>also 20 MHz.
>Und einen atmega32 kann man auch mit 20 MHz betreiben...

Das hinkt total.Nur  Zwei Sachen (nicht alles). Ein kleiner Unterschied 
ist zum einen, das die CPU deines PCs eine FPU hat, die dem ATMega etwas 
fremd ist. Zum anderen können PC-CPUs z.B. viele Sachen im Speicher 
manipulieren. Für ersteres müsste der AVR ganz pauschal geschätzt, 
mindestens 1000mal schneller laufen, für letzteres mindedestes 4...5 mal 
schneller.

MfG Spess

von Guest (Gast)


Lesenswert?

Stimmt, der Vergleich hinkt wirklich =)
Trotzdem werde ich es versuchen und falls ich wirklich daran scheitere, 
habe ich auch nichts verloren. Nur aus Fehlern lernt man und falls es 
nicht klappt, habe ich zumindest etwas dazu gelernt - nämlich das es so 
nicht schaffbar ist.

von Magnus Müller (Gast)


Lesenswert?

Na das klingt ja mal nach nem vernünftigen Sportgeist ;)

von ohne ahnung (Gast)


Lesenswert?

.o(spartan3an fütter)

von easy-peasy (Gast)


Lesenswert?

Ist doch ganz einfach:
-Hidden Markov Model mit den passenden zu erkennenden Phonemen anlegen
-Cepstrum des digitalisierten Signals bilden nach:
-Viterbi-Algorithmus drüber laufen lassen

Sollte innert 5 Minuten zu machen sein.

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
Noch kein Account? Hier anmelden.