Forum: Mikrocontroller und Digitale Elektronik Sound erkennung & suche


von Seyed M. (m5gpower)


Lesenswert?

Hi,
ich möchte für die Uni ein Projekt mit einem mikrocontroller, welches 
verschiedene Sounds erkennt (50-100stk) und die dann in einer lokalen 
Datenbank (evtl. SD-Karte) abgleicht bzw. sucht umsetzen.Anschließend 
soll es die dazugehörigen Befehle ausführen, die zum Sound gehören.

1.Wie wird ein Sound bzw. Geräusch interpretiert,werden die Analogen 
Wellenlängen analysiert vom mcu?

2.Wie sollte ich die Sounds am besten vorher speichern bzw. den mcu 
anlernen?

3.Werden die Sounds in mp3 format gespeichert, wäre das nicht etwas zu 
groß bei 50-100 Sounds?

3.Welcher Mikrocontroller ist dafür geeignet?

von Stefan F. (Gast)


Lesenswert?

Dafür ist überhaupt kein gewöhnlicher Mikrocontroller geeignet. DU 
müsstes so viel drumherum bauen, dass ein fertiger Mini PC letztendlich 
günstiger und besser geeignet ist. Nimm einen Raspberry Pi oder einen 
Laptop.

> Wie wird ein Sound bzw. Geräusch interpretiert

Ist das nicht die Kernfrage deiner Aufgabe? Du kannst ja mal bei Nuance 
anfragen ob sie Dir ihre Methode verraten - vermutlich nicht.

Grundsätzliche Sache zur Spracherkennung sind bei Wikipedia beschrieben, 
mit Links zu weiterführender Doku. 
https://de.wikipedia.org/wiki/Spracherkennung

Mit Sounds meinst du womöglich ein universelleres System, dass weit mehr 
als nur Sprache erkennt. Wird das eine Doktorarbeit?

> Werden die Sounds in mp3 format gespeichert, wäre das nicht
> etwas zu groß bei 50-100 Sounds?

Gegenfrage: Kennst du ein wesentlich kompakteres Format?

von Werner S. (wernertrp)


Lesenswert?

Soll Sprache von Musik unterschieden werden ?
Soll Musik Klassik von Pop unterschieden werden ?
Oder soll es noch schwieriger werden ?

von Seyed M. (m5gpower)


Lesenswert?

Stefanus F. schrieb:
> Dafür ist überhaupt kein gewöhnlicher Mikrocontroller geeignet. DU
> müsstes so viel drumherum bauen, dass ein fertiger Mini PC letztendlich
> günstiger und besser geeignet ist. Nimm einen Raspberry Pi oder einen
> Laptop.

Der Raspi ist leider zu groß für das Projekt.

>
>> Wie wird ein Sound bzw. Geräusch interpretiert
>
> Ist das nicht die Kernfrage deiner Aufgabe? Du kannst ja mal bei Nuance
> anfragen ob sie Dir ihre Methode verraten - vermutlich nicht.
>

Ich denke eher einfach in Waveforms, nun die Frage ist welches format 
haben Waveforms.


> Grundsätzliche Sache zur Spracherkennung sind bei Wikipedia beschrieben,
> mit Links zu weiterführender Doku.
> https://de.wikipedia.org/wiki/Spracherkennung
>
> Mit Sounds meinst du womöglich ein universelleres System, dass weit mehr
> als nur Sprache erkennt. Wird das eine Doktorarbeit?

Eig. nur die menschlichen wellenlängen die gesprochen werden.
Nein keine Doktorarbeit, soweit bin ich noch nicht :).

>
>> Werden die Sounds in mp3 format gespeichert, wäre das nicht
>> etwas zu groß bei 50-100 Sounds?
>
> Gegenfrage: Kennst du ein wesentlich kompakteres Format?

Am besten wäre es wenn die Wellenlängen die gesprochen werden, von einem 
Mic aufgenommen und digital umgewandelt werden. Anschließend sollten die 
Daten dann mit der Datenbank abgeglichen werden.

von U. M. (oeletronika)


Lesenswert?

Hallo,
deine Frage liest sich etwa so:
"Ich möchte mal was zum Patent anmelden. Hat jemand eine super tolle 
Erfindung, die er mir für den Zweck schenkt"

> Seyed M. schrieb:
> ich möchte für die Uni ein Projekt mit einem mikrocontroller, welches
> verschiedene Sounds erkennt (50-100stk) und die dann in einer lokalen
> Datenbank (evtl. SD-Karte) abgleicht bzw. sucht umsetzen.
Warum willst du das tun?  Ist es eine offizielle Aufgabenstellung.
Ich vermute, iht sollt euch selber irgend was mit uC ausdenken, oder?

> Anschließend
> soll es die dazugehörigen Befehle ausführen, die zum Sound gehören.
> 1.Wie wird ein Sound bzw. Geräusch interpretiert,werden die Analogen
> Wellenlängen analysiert vom mcu?
> 2.Wie sollte ich die Sounds am besten vorher speichern bzw. den mcu
> anlernen?
> 3.Werden die Sounds in mp3 format gespeichert, wäre das nicht etwas zu
> groß bei 50-100 Sounds?
Wenn du von der ganzen Sache (Pkt.1-3) so gar keine Ahnung hast, welchen 
Teil deines Projektes willst du dann noch selber machen?
Zumindet zum Pkt.3 kann sich selbst ein Schüler schon mal ausrechnen, 
wie viele Stunden MP3 auf eine Karte passen, wenn man die Komprimierrate 
festlegt und nachschaut, welche SD-Kartengröße derzeit so verfügbar 
sind.

> 3.Welcher Mikrocontroller ist dafür geeignet?
Die Frage ist dann wohl obsolet. Suche dir lieber eine andere 
Aufgabenstellung, die auch mit deinem Wissen, Fähigkeiten ud 
Fertigkeiten umsetzbar ist.

Es gibt evtl. noch einen ganz anderen weg. Zur Sounderkennung gibt es 
Apps, die mit Diensten aus dem Internet arbeiten (z.B. "Shazam").
https://www.wieheisstdaslied.de/lieder-suche/
Wenn du so was nutzen kannst, ändert sich die Fragestellung und die 
Randbedingungen deutlich, aber das Problem an sich wird dann mit einem 
uC evtl. recht leicht lösbar.
Gruß ÖÖletronika

von Stefan F. (Gast)


Lesenswert?

Seyed M. schrieb:
> Der Raspi ist leider zu groß für das Projekt.

Dann sage das Projekt ab. Das meine ich ernst.

von J. T. (chaoskind)


Lesenswert?

Seyed M. schrieb:
> Am besten wäre es wenn die Wellenlängen die gesprochen werden, von einem
> Mic aufgenommen und digital umgewandelt werden. Anschließend sollten die
> Daten dann mit der Datenbank abgeglichen werden

Das es bei gesprochenem Wort weniger um die Wellenlänge aka Tonhöhe 
sondern um die spektrale Zusammensetzung(sozusagen die Form des 
Wellenzuges)geht, ist dir aber schon klar? Evtl mal "Formanten" als 
erstes Stichwort.

von Rolf M. (rmagnus)


Lesenswert?

Seyed M. schrieb:
> Am besten wäre es wenn die Wellenlängen die gesprochen werden, von einem
> Mic aufgenommen und digital umgewandelt werden. Anschließend sollten die
> Daten dann mit der Datenbank abgeglichen werden.

Das kling etwa so wie: Ich will ein Auto bauen. Dazu muss ich doch nur 
vier Räder kaufen und mit dem Antrieb verbinden.

Wie gut kennst du dich denn mit Fourier-Transformation aus? Wie sieht es 
mit neuronalen Netzen aus? Weißt du wenigsten, was ein Formant ist?

: Bearbeitet durch User
von Werner S. (wernertrp)


Lesenswert?

Formantenanalyse:
Jetzt ist er informiert.

von Stefan F. (Gast)


Lesenswert?

> Ich denke eher einfach in Waveforms, nun die Frage ist
> welches format haben Waveforms.

Byte Arrays (oder größer), eventuell irgendwie komprimiert, eventuell 
mit zusätzlichen meta Daten.

Welches Format haben Bilder? Ist JPEG ein Format, oder 20x30cm oder 
Polaroid?

>> Mit Sounds meinst du womöglich ein universelleres System,
>> dass weit mehr als nur Sprache erkennt.

> Eig. nur die menschlichen wellenlängen die gesprochen werden.

Also doch weit mehr als Sprache. Dir ist schon klar, dass du hier eine 
Forschungsarbeit beginnst, die Jahre dauern könnte und mit der Gründung 
einer Firma enden könnte, die neben bereits etablierten Firmen mit ihren 
patenten untergehen wird?

Wenn dass noch vor deiner Doktorarbeit passieren soll und kleiner sein 
soll, dann lass es bleiben! Mach was anderes. Denn es wird eher noch 
umfangreicher, als eine Doktorarbeit.

von Werner S. (wernertrp)


Lesenswert?

Das bringt mich auf eine Idee:
Google hat auch Spracheingabe.
Die ist oft sehr gut.
Was passiert wenn man die Frage singt ?

von Stefan F. (Gast)


Lesenswert?

Werner S. schrieb:
> Was passiert wenn man die Frage singt ?

Lustige Frage, ich hab's gerade ausprobiert mit "Wir singe jaja jippie 
jippie jey, wir singen jaja jippie jippie jey ..."

Das hat mein Küchen-Tablet komplett richtig erkannt - erstaunlich.

von Seyed M. (m5gpower)


Lesenswert?

U. M. schrieb:
> Hallo,
> deine Frage liest sich etwa so:
> "Ich möchte mal was zum Patent anmelden. Hat jemand eine super tolle
> Erfindung, die er mir für den Zweck schenkt"
>
>> Seyed M. schrieb:
>> ich möchte für die Uni ein Projekt mit einem mikrocontroller, welches
>> verschiedene Sounds erkennt (50-100stk) und die dann in einer lokalen
>> Datenbank (evtl. SD-Karte) abgleicht bzw. sucht umsetzen.
> Warum willst du das tun?  Ist es eine offizielle Aufgabenstellung.
> Ich vermute, iht sollt euch selber irgend was mit uC ausdenken, oder?
>
>> Anschließend
>> soll es die dazugehörigen Befehle ausführen, die zum Sound gehören.
>> 1.Wie wird ein Sound bzw. Geräusch interpretiert,werden die Analogen
>> Wellenlängen analysiert vom mcu?
>> 2.Wie sollte ich die Sounds am besten vorher speichern bzw. den mcu
>> anlernen?
>> 3.Werden die Sounds in mp3 format gespeichert, wäre das nicht etwas zu
>> groß bei 50-100 Sounds?
> Wenn du von der ganzen Sache (Pkt.1-3) so gar keine Ahnung hast, welchen
> Teil deines Projektes willst du dann noch selber machen?
> Zumindet zum Pkt.3 kann sich selbst ein Schüler schon mal ausrechnen,
> wie viele Stunden MP3 auf eine Karte passen, wenn man die Komprimierrate
> festlegt und nachschaut, welche SD-Kartengröße derzeit so verfügbar
> sind.
>
>> 3.Welcher Mikrocontroller ist dafür geeignet?
> Die Frage ist dann wohl obsolet. Suche dir lieber eine andere
> Aufgabenstellung, die auch mit deinem Wissen, Fähigkeiten ud
> Fertigkeiten umsetzbar ist.
>
> Es gibt evtl. noch einen ganz anderen weg. Zur Sounderkennung gibt es
> Apps, die mit Diensten aus dem Internet arbeiten (z.B. "Shazam").
> https://www.wieheisstdaslied.de/lieder-suche/
> Wenn du so was nutzen kannst, ändert sich die Fragestellung und die
> Randbedingungen deutlich, aber das Problem an sich wird dann mit einem
> uC evtl. recht leicht lösbar.
> Gruß ÖÖletronika


Also damit das klar ist , ich bin Informatik student und muss für das 
Module "HMI -Human Machine Interface" mir was einfallen lassen und mir 
gingen paar sachen durch den kopf mit Spracherkennung.

Wie viele std. mp3 auf einer sd-karten passen und bits und bytes 
ausrechnen, dafür muss du mir keinen Denkanstoß geben.
Wie ich sehe ist aber dein Horizont mit "Shazam" schon erreicht.


>Also doch weit mehr als Sprache. Dir ist schon klar, dass du hier eine
>Forschungsarbeit beginnst, die Jahre dauern könnte und mit der Gründung
>einer Firma enden könnte, die neben bereits etablierten Firmen mit ihren
>patenten untergehen wird?

Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und 
binary/linear search betreiben ist also Forschungsarbeit.


Nochmal für einige unter euch:
In meinem Informatik Studium, habe ich weniger mit microcontrollern 
zutun.Ich wollte nur lediglich mir Ideen holen welche Komponenten nötig 
sind um das Projekt (Spracherkennung bzw. waveform vergleich) 
umzusetzen.Vielleicht habe ich das Projekt nicht verständlich 
beschrieben.
Aber was manche von sich geben hier mit Forschugsarbeit und NN .... dazu 
sage ich besser nichts.

von Rolf M. (rmagnus)


Lesenswert?

Seyed M. schrieb:
> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
> binary/linear search betreiben ist also Forschungsarbeit.

Nein, aber die Signalverarbeitung, die dazwischen noch nötig ist, die du 
aber geflissentlich ausblendest (nein, man kann nicht einfach die 
aufgezeichneten Samples mit was gespeichertem byteweise vergleichen). 
Die ist der schwere Teil. Der Rest ist Kinderkram.

von Stefan F. (Gast)


Lesenswert?

Seyed M. schrieb:
> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
> binary/linear search betreiben ist also Forschungsarbeit.

Ich glaube Dir ist nicht klar, wie kompliziert der Vergleich ist. Es ist 
nicht nur so, dass das Geräusch praktisch immer einen anderen Pegel und 
andere Geschwindigkeit hat, sondern auch das es Inhaltlich nie mit dem 
Vergleichsmaterial übereinstimmt.

binary/linear search mag bei ASCII texten noch einigermaßen 
funktionieren, aber nicht bei Sprache und schon gar nicht bei beliebigen 
Geräuschen.

Eine kleine Sache als Denkanstoß:

Sind "Piep-Piep-Piep" verglichen mit "Paap-Paap-Paap" ein Match?
Wenn das als "gleich" erkannt werden soll, soll das System "Ja-Ja-Ja" 
ebenfalls als Match erkennen? Und wenn nicht, wo ist der Unterschied?

Schau Dir das mal in Audacity an, und zwar von mehreren 
unterschiedlichen Leuten gesprochen und gesungen. Überlege dann mal, wie 
Schwierig ein Vergleich bzw eine Unterscheidung wird. Weder die 
Lautstärke, noch die Länge, noch der Rhythmus genügen, da muss man schon 
mehr machen. Sehr viel mehr.

> In meinem Informatik Studium, habe ich weniger mit microcontrollern
> zutun.

Das merkt man, du überschätzt deren Leistung gehörig.

von Sebastian R. (sebastian_r569)


Lesenswert?

Seyed M. schrieb:

> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
> binary/linear search betreiben ist also Forschungsarbeit.


Dann weißt du doch schon, wie es funktioniert und alles ist überhaupt 
kein Problem für dich. Wofür dann das Forum?

So als Idee:
Bring das ganze auf einem PC zum Laufen. Da hast du erstmal sämtliche 
Hardware und genug Ressourcen und musst dich nur um den Softwarepart 
kümmern.

Dann ganze auf einen Einplatinencomputer ala RasPi (der OrangePi Zero 
hat ein Viertel der Fläche, da ja RasPi zu groß) mit I2S, ADC und Co 
portieren.

Und im letzten Schritt vielleicht auf nen ARM M7, XMOS oder so. Fertig.

von Seyed M. (m5gpower)


Lesenswert?

Stefanus F. schrieb:
> Seyed M. schrieb:
>> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
>> binary/linear search betreiben ist also Forschungsarbeit.
>
> Ich glaube Dir ist nicht klar, wie kompliziert der Vergleich ist. Es ist
> nicht nur so, dass das Geräusch praktisch immer einen anderen Pegel und
> andere Geschwindigkeit hat, sondern auch das es Inhaltlich nie mit dem
> Vergleichsmaterial übereinstimmt.
>
> binary/linear search mag bei ASCII texten noch einigermaßen
> funktionieren, aber nicht bei Sprache und schon gar nicht bei beliebigen
> Geräuschen.
>
> Eine kleine Sache als Denkanstoß:
>
> Sind "Piep-Piep-Piep" verglichen mit "Paap-Paap-Paap" ein Match?
> Wenn das als "gleich" erkannt werden soll, soll das System "Ja-Ja-Ja"
> ebenfalls als Match erkennen? Und wenn nicht, wo ist der Unterschied?
>
> Schau Dir das mal in Audacity an, und zwar von mehreren
> unterschiedlichen Leuten gesprochen und gesungen. Überlege dann mal, wie
> Schwierig ein Vergleich bzw eine Unterscheidung wird. Weder die
> Lautstärke, noch die Länge, noch der Rhythmus genügen, da muss man schon
> mehr machen. Sehr viel mehr.
>
>> In meinem Informatik Studium, habe ich weniger mit microcontrollern
>> zutun.
>
> Das merkt man, du überschätzt deren Leistung gehörig.


Das hört sich schon besser an !

case 1: Angenommen das Vergleichsmaterial ist mit meine Stimme 
aufgenommen bsp:"Ja Ja Ja" und wird gespeichert nun spreche ich "Ja Ja 
Ja" für die Suche. Wird es so sehr unterschiedlich von der Wellenlänge 
sein, dass es nicht in der Lage sein wird es zu erkennen? das ist doch 
wiederum eine Frage des Suchalgorithmus. Wenn wir Hintergrund Geräuche 
und geschwindigkeit als parameter weglassen.

case 2:
Es kommen Hintergrund noises und die Geschwindigkeit dazu bsp. das "Ja 
Ja Ja" wird schneller ausgesprochen oder im Hintergrund läuft Musik. 
Wird die Wellenlänge so sehr manipuliert, dass es nicht erkennbar ist? 
und gibts es dann wiederum nicht Mic's die relativ gut aufnehmen können 
oder Komponenten die die noises rausfiltern?

von Sebastian R. (sebastian_r569)


Lesenswert?

Seyed M. schrieb:
>
> case 1: Angenommen das Vergleichsmaterial ist mit meine Stimme
> aufgenommen bsp:"Ja Ja Ja" und wird gespeichert nun spreche ich "Ja Ja
> Ja" für die Suche. Wird es so sehr unterschiedlich von der Wellenlänge
> sein, dass es nicht in der Lage sein wird es zu erkennen? das ist doch
> wiederum eine Frage des Suchalgorithmus. Wenn wir Hintergrund Geräuche
> und geschwindigkeit als parameter weglassen.
>
> case 2:
> Es kommen Hintergrund noises und die Geschwindigkeit dazu bsp. das "Ja
> Ja Ja" wird schneller ausgesprochen oder im Hintergrund läuft Musik.
> Wird die Wellenlänge so sehr manipuliert, dass es nicht erkennbar ist?
> und gibts es dann wiederum nicht Mic's die relativ gut aufnehmen können
> oder Komponenten die die noises rausfiltern?


Der Begriff "Wellenlänge" ist im hörbaren Spektrum (21m...17mm) übrigens 
eher unüblich. Meist hat man es hier mit einer Frequenz zu tun. Erst, 
wenn die Frequenz zu unhandlich wird, also bei z.B. Licht (Terahertz) 
wechselt man zur Wellenlänge.
Ist nicht offiziell definiert, aber ich kenne niemanden, der 
irgendwelche hörbaren Töne als Wellenlänge angibt.


Uhhh. Noise Cancellation und Beam Forming wie z.B. der Amazon Echo es 
betreibt, ist wieder eine Forschungsarbeit für sich. Anhand von 
Laufzeitunterschieden etc. einem Gerät selektives Hören beizubringen ist 
auch nicht mal eben auf nem 8bitter in zwei Tagen erschlagen.

Guck dir mal an, was XMOS so im Angebot hat. Die haben Controller und 
Hardware, die speziell für Sprachsteuerungen entwickelt wurden und die 
perfomant genug sind, das Beamforming und auch das Processing zu 
übernehmen.

von Seyed M. (m5gpower)


Lesenswert?

Sebastian R. schrieb:
> Seyed M. schrieb:
>
>> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
>> binary/linear search betreiben ist also Forschungsarbeit.
>
>
> Dann weißt du doch schon, wie es funktioniert und alles ist überhaupt
> kein Problem für dich. Wofür dann das Forum?
>
> So als Idee:
> Bring das ganze auf einem PC zum Laufen. Da hast du erstmal sämtliche
> Hardware und genug Ressourcen und musst dich nur um den Softwarepart
> kümmern.
>
> Dann ganze auf einen Einplatinencomputer ala RasPi (der OrangePi Zero
> hat ein Viertel der Fläche, da ja RasPi zu groß) mit I2S, ADC und Co
> portieren.
>
> Und im letzten Schritt vielleicht auf nen ARM M7, XMOS oder so. Fertig.

Gute Idee !

Wenn ich das Programm in Java/C++ schreibe dann läuft es aufm PC und 
aufm PC kann ich locker .mp3 oder .wav Datein analysieren aber soweit 
ich weiß muss man in C odr Assembler schreiben für Microcontroller.

Deswegen war auch die Frage vorher um Ideen zu sammeln, was für einen 
Format am besten für die Aufnahmen die der Mcu abarbeitet geeignet ist.

von Seyed M. (m5gpower)


Lesenswert?

Sebastian R. schrieb:
>
> Der Begriff "Wellenlänge" ist im hörbaren Spektrum (21m...17mm) übrigens
> eher unüblich. Meist hat man es hier mit einer Frequenz zu tun. Erst,
> wenn die Frequenz zu unhandlich wird, also bei z.B. Licht (Terahertz)
> wechselt man zur Wellenlänge.
> Ist nicht offiziell definiert, aber ich kenne niemanden, der
> irgendwelche hörbaren Töne als Wellenlänge angibt.
>
>
> Uhhh. Noise Cancellation und Beam Forming wie z.B. der Amazon Echo es
> betreibt, ist wieder eine Forschungsarbeit für sich. Anhand von
> Laufzeitunterschieden etc. einem Gerät selektives Hören beizubringen ist
> auch nicht mal eben auf nem 8bitter in zwei Tagen erschlagen.
>
> Guck dir mal an, was XMOS so im Angebot hat. Die haben Controller und
> Hardware, die speziell für Sprachsteuerungen entwickelt wurden und die
> perfomant genug sind, das Beamforming und auch das Processing zu
> übernehmen.



Danke !

von Jim M. (turboj)


Lesenswert?

Seyed M. schrieb:
> Wie viele std. mp3 auf einer sd-karten passen und bits und bytes
> ausrechnen, dafür muss du mir keinen Denkanstoß geben.

Dummerweise dauert es etliche Minuten ehe man die MP3 wider von der SD 
Karte runtergekratzt hat. Für eine Spracherkennung vieeeel zu lange.

Seyed M. schrieb:
> Forschugsarbeit? Waveforms mit einem A/D wandler digitalisieren und
> binary/linear search betreiben ist also Forschungsarbeit.

Mit nur etwas Forschungsarbeit wäre Dir aufgefallen, das binary/linear 
search bei Spracherkennung genau gar keine Punkte gibt. Das ist 
bedeutend komplexer.


Wenn man das Modul auf den Sprecher abstimmen ("anlernen") kann, dann 
gäbe es relativ preiswerte Module zur Sprecherkennung (Google: arduino 
voice recognition).

Wenn man aber 50-100 Phrasen erkennen will, ist das Anlernen schon kacke 
und man nimmt lieber eine Online-Erkennung wie auf dem Smartphone. Da 
sitzt dann ein dicker Prozessor zur Vorverabeitung drauf und im Backend 
ein dicker Server für die eigentliche Erkennung in schwierigeren Fällen.

Android hat Beispiel Codes zur Spracherkennung, dort kann man auch den 
Unterschied Offline/Online durchspielen.

von Karl B. (gustav)


Lesenswert?

Hi,
so ein Programm hatte ich auch mal.
Was da rauskam war, als ob eine wildgewordene Katze über die 
Klaviertastatur springt.

https://www.musikerforum.de/showthread.php?32901-WAV-in-MIDI-Dateien-umwandeln

und das "nur" WAV nach Midi.
Wie schwer wird das dann noch mit dem Vergleichen eines bestehenden 
Thesaurus.

ciao
gustav

: Bearbeitet durch User
von J. T. (chaoskind)


Lesenswert?

Nochmal: beschäftige dich erst einmal mit Formanten. Die sind es, die 
Sprache zu Sprache machen.
Du sprachst von Wellenlängen. Die Wellenlänge ist das inverse der 
Frequenz.

Nun weiter. Jdm singt auf Tonhöhe des Kammertons a (440Hz) den 
Buchstaben "A". Nun singt der selbe jemand, wieder auf der selben 
Tonhöhe den Buchstaben "E". Beide haben eine Frequenz von 440Hz somit 
die selbe Wellenlänge. Wenn du nur die Wellenlänge einbeziehst, sehen 
das A und das E für deine Maschine exakt gleich aus.

von Stefan F. (Gast)


Lesenswert?

Seyed M. schrieb:

> case 1: Angenommen das Vergleichsmaterial ist mit meine Stimme
> aufgenommen bsp:"Ja Ja Ja" und wird gespeichert nun spreche ich "Ja Ja
> Ja" für die Suche. Wird es so sehr unterschiedlich von der Wellenlänge
> sein, dass es nicht in der Lage sein wird es zu erkennen?

Welche Wellenlänge? Die Aufzeichnung enthält nicht eine simple Zahl oder 
folge von Zahlen, die man miteinander vergleichen kann. Es ist auch 
nicht eine Wellenlämnge oder Frequenz, sondern eben ein Geräusch - eine 
Mischung aus tausenden Abschnitten die jeder aus hunderten überlappenden 
Frequenzen bestehen. Und selbst wenn du das so zerlegst, bekommst du 
kein direkt vergleichbares Material, denn jede Stimme klingt anders und 
jeder spricht unterschiedlich schnell.

> das ist doch wiederum eine Frage des Suchalgorithmus.

Genau, das ist der eigentlich Knackpunkt der Aufgabe.

> Wenn wir Hintergrund Geräuche
> und geschwindigkeit als parameter weglassen.

Wie lässt man den Hintergrundgeräusche weg?

> case 2:
> Es kommen Hintergrund noises und die Geschwindigkeit dazu bsp. das "Ja
> Ja Ja" wird schneller ausgesprochen oder im Hintergrund läuft Musik.
> Wird die Wellenlänge so sehr manipuliert, dass es nicht erkennbar ist?

Das kommt ganz darauf an, wie viele Worte/Geräusche dein Algorithmus 
unterscheiden können soll. Je mehr, umso komplizierter wird es.

ich hatte mal ein PC Programm mit dem man Texte diktieren konnte. 
Nachdem es auf die eigene Stimme trainiert war hatte es von den 
Beispiel-Worten hunderte Varianten meiner eigenen Stimme gespeichert. 
Und die waren auch nötig, damit es zuverlässig funktioniert.

Aber das war nur eine (meine) Stimme und auch nur Worte. Du wolltest ja 
noch viel weiter gehen.

> und gibts es dann wiederum nicht Mic's die relativ gut aufnehmen
> können oder Komponenten die die noises rausfiltern?

Was ist denn "Noise", technisch gesehen? Erst wenn du ein Signal exakt 
beschreiben kannst, kannst du es simulieren und vom Misch-Signal 
subtrahieren (um es herauszufiltern). Das ist fast unmöglich.

In diesem Bereich hat sich die Firma Dolby etabliert seit ich lebe, aber 
dennoch keine Bahnbrechenden Lösungen geschaffen.

von Philipp G. (geiserp)


Lesenswert?

Ich würde das Projekt vereinfachen, z.B auf Vogelstimmen reduzieren. 
Wenn Stimme erkannt erscheint der Vogel auf dem Display. Dazu brauchst 
du allermindestens einen Raspi B, und einen Algorithmus der 
Hintegrundgeräusche (und Weiteres) verarbeitet und filtert. Das 
funktioniert dann aber immer noch nicht im Wald wenn mehrere Vögel 
gleichzeitig singen, es ist schon schwierig genug das immer mit 
demselben (und unter denselben Bedingungen abgespieltem) Vogel01.mpg 
hinzubekommen.

Aber Musik und Sprache vergiss grad mal.

: Bearbeitet durch User
von npn (Gast)


Lesenswert?

Philipp G. schrieb:
> (und unter denselben Bedingungen abgespieltem) Vogel01.mpg

Ein Videofile brauchst du für die Sounderkennung nicht... ;-)

von Philipp G. (geiserp)


Lesenswert?

npn schrieb:
>> (und unter denselben Bedingungen abgespieltem) Vogel01.mpg
>
> Ein Videofile brauchst du für die Sounderkennung nicht... ;-)

aeh ja danke, sollte natürlich .mp3 oder .wav oder was auch immer 
heissen.

Das Format ist mal die kleinste Sorge in dieser Frage. Du könntest auch 
Tierstimmen nehmen, natürlich immer dieselbe.

Beispiel.

wuffwuff.mp3 hat zwei Peaks, messe dazwischen die Zeit. Wenn die (+-) 
mit der in der Datenbank gespeicherten Zeit (und anderen Parametern) 
übereinstimmt zeige Hund01.jpg.

Miauuuuuuuuuuuuu.mp3 hat einen Peak (das I) und eine langsam abfallende 
Flanke.

Sowas könnte man hinbekommen. Ich zumindest. Alles andere ist zu 
komplex. Könntest Dich ja auf Hund, Katze, Elefant, Papagei einigen. 
Eine südamerikanische Flachmaus von einer nordamerikanischen 
Breitflachmaus zu unterscheiden wird dir dadurch kaum gelingen.

: Bearbeitet durch User
von fsdf (Gast)


Lesenswert?

für einen an das internet  angebundene µC ist das kein großes drama ^^

Cortex M4/M7 und die Google API

audio aufnehmen -> zu google senden -> in der antwort steht der klartext 
der erkannt wurde -> mit text in datenbank vergleichen -> schalten

von Huh (Gast)


Lesenswert?

fsdf schrieb:
> für einen an das internet  angebundene µC ist das kein großes drama ^^

Da hast du doch (fast) genau das vorgeschlagen, was der TO möchte :-D

Seyed M. schrieb:
> mit einem mikrocontroller, welches
> verschiedene Sounds erkennt (50-100stk)

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Seyed M. schrieb:
> Wie viele std. mp3 auf einer sd-karten passen und bits und bytes
> ausrechnen, dafür muss du mir keinen Denkanstoß geben.
Und warum stellst du dann so eine merkwürdige Frage?
https://foerster-kreuz.com/es-gibt-sie-noch-die-dummen-fragen/

> Wie ich sehe ist aber dein Horizont mit "Shazam" schon erreicht.
Jetzt noch pampig werden. Das ist jetzt Kleinkindniveau.
Aber immerhin ist mein Horizont doch wenigstens deutlich weiter als 
deiner.

Erst outest du dich nicht nur mit großer Naivität, sondern vor allem mit 
profunder Unselbstständigkeit. Sonst hättest du dich doch zumindest erst 
mal über ein paar Grundlagen der Audio-Signalverabeitung schlauer 
gemacht.
Gerade zum Thema Spracherkennung gibt es eine Menge Publikationen.
z.B. in der c't, zuletzt Ausgabe 18/2018 ab S.72.
Selbst mit Google findet sich vieles.
Gruß Öletronika

von Witzbold (Gast)


Lesenswert?

Stefanus F. schrieb:
> Lustige Frage, ich hab's gerade ausprobiert mit "Wir singe jaja jippie
> jippie jey, wir singen jaja jippie jippie jey ..."
>
> Das hat mein Küchen-Tablet komplett richtig erkannt - erstaunlich.

Und jetzt wirst Du die nächsten drei Monate mit Hornbach-Werbung 
bombardiert. :->

von fsdf (Gast)


Lesenswert?

Huh schrieb:
> Da hast du doch (fast) genau das vorgeschlagen, was der TO möchte :-D

und das geht sogar in einer größe die kaum eine RJ45 buchse 
überschreitet ^^

Leider ist die Google speech API nich mehr kostenlos.
Aber dafür funktioniert das in mehreren Sprachen und dialekten halbwegs 
brauchbar.

man muss nur lauschen und ab einem schwellwert die 3sek audio aufnehmen 
und zu google senden

von Stefan F. (Gast)


Lesenswert?

Witzbold schrieb:
>> Lustige Frage, ich hab's gerade ausprobiert mit "Wir singe jaja jippie
>> jippie jey, wir singen jaja jippie jippie jey ..."
>>
>> Das hat mein Küchen-Tablet komplett richtig erkannt - erstaunlich.
>
> Und jetzt wirst Du die nächsten drei Monate mit Hornbach-Werbung
> bombardiert. :->

Deswegen habe ich das Küchentablet verwendet, nicht mein persönliches 
Smartphone.

Das wirklich gute daran ist: Ich kann jetzt nachsehen wie man diesen 
Lied-Text richtig schreibt (nicht wie oben).

von Sebastian R. (sebastian_r569)


Lesenswert?

Seyed M. schrieb:

> Wenn ich das Programm in Java/C++ schreibe dann läuft es aufm PC und
> aufm PC kann ich locker .mp3 oder .wav Datein analysieren aber soweit
> ich weiß muss man in C odr Assembler schreiben für Microcontroller.

Naja. Das ist so auch nicht richtig.
Es gibt Java- und auch C++-Compiler für Mikrocontroller. Im Prinzip sind 
viele Sprachen für verschiedenste Controller portiert. Mal mehr, mal 
weniger brauchbar. C ist recht beliebt, weil man damit sehr leicht 
hardwarenah programmieren kann. Java ist da dann vielleicht etwas 
abstrakter.

Aber gerade für die ARM M7 sollte es sehr viele Portierungen geben.

XMOS hat für seine Produkte das xTIMEcomposer, welches standardmäßig mit 
C/C++ daherkommt.

von Johnny B. (johnnyb)


Lesenswert?

Es macht Sinn, sowas erstmal auf dem PC zu realisieren, z.B. in Matlab 
oder sowas und wenn es funktioniert, sich dann erst Gedanken dazu macht, 
wie man das in Hardware realisiert. Denn erst dann kennst Du überhaupt 
die Anforderungen an die Hardware und kannst Dich für eine entscheiden.

von Planlos (Gast)


Lesenswert?

Seyed M. schrieb:
> Wenn ich das Programm in Java/C++ schreibe dann läuft es aufm PC und
> aufm PC kann ich locker .mp3 oder .wav Datein analysieren

Das glaube ich nicht. Versuch das mal. Meinetwegen auch als Prototyp mit 
Matlab.

Einfach ein paarmal dasselbe Wort als WAV-Datei aufnehmen, vergleichen.

Prophezeiung:
Es vergehen Wochen, bis du da zu einem brauchbaren Ergebnis kommst, und 
Matlab bringt damit auch einen High-End-PC zum schwitzen.

Alternative: Das Problem mit noch mehr Rechenleistung zuschei**en und 
ein neuronales Netz antrainieren. Tensorflow hat Beispiele und kann die 
Auswertung nachher auch auf einer Grafikkarte laufen lassen, damit 
kriegst du für nur 250 Watt die Erkennung auch fast verzögerungsfrei 
hin.

von HAL9k (Gast)


Lesenswert?

Reicht denn ein Mikrocontroller um nur auf ein Aktivierungswort zu 
lauschen?

Wenn das Aktivierungswort erkannt wurde, könnte man den Rest an z.B. 
DeepSpeech weiterleiten...

von Stefan F. (Gast)


Lesenswert?

HAL9k schrieb:
> Reicht denn ein Mikrocontroller um nur auf ein Aktivierungswort zu
> lauschen?

Kommt ganz drauf an, wie viele false-positive man zulassen möchte. Wenn 
ich bei meinem Küchentablet das Display immer eingeschaltet lasse 
lauscht es auch immer. Ich habe schon hunderte male mitbekommen, dass es 
fälschlicherweise das Aktivierungswort erkannt hat. Deswegen habe diese 
Entwickler-Option wieder ausgeschaltet.

Auch die Lautsprecher von Google und Amazon sind laut Presseberichten 
negativ aufgefallen.

Nun muss man bedenken, dass all diese Geräte aber immer noch zig mal 
Leistungsstärker sind, als die üblichen Mikrocontroller. Nicht 
vergessen: Raspi war ihm ja schon zu groß.

Darüber hinaus hat der TO klar gesagt, dass es um mehr als nur Sprache 
geht.

von Rolf M. (rmagnus)


Lesenswert?

Stefanus F. schrieb:
> Darüber hinaus hat der TO klar gesagt, dass es um mehr als nur Sprache
> geht.

Wo hat er das eigentlich gesagt? Ich sehe hier eine ausdrückliche 
Einschränkung auf Sprache:

Seyed M. schrieb:
> Eig. nur die menschlichen wellenlängen die gesprochen werden.

von my2ct (Gast)


Lesenswert?

Rolf M. schrieb:
> Wo hat er das eigentlich gesagt?

Im Eröffnungspost waren noch ganz allgemein die Rede von "Sounds"
(Salami?)

Seyed M. schrieb:
> ... welches verschiedene Sounds erkennt ...

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Seyed M. schrieb:
> In meinem Informatik Studium, habe ich weniger mit microcontrollern
> zutun.Ich wollte nur lediglich mir Ideen holen welche Komponenten nötig
> sind um das Projekt (Spracherkennung bzw. waveform vergleich)
> umzusetzen

Deine Anfrage erscheint ... merkwürdig.

Die notwendigen Hardware-Komponenten (Mikrofon, AD-Wandler, Prozessor, 
Speicher) sind schnell aufgezählt.

Die notwendigen Software-Komponenten wurden ja schon genannt.

Die Algorithmen, welche diese Software-Komponenten abbilden, sind eh "in 
Hochsprache geschrieben". Insofern ist es egal, ob diese in einem 
(Windows- oder Linux-PC, oder an einem Microcontroller zur Ausführung 
gelangt.

Als Informatik-Student solltest du gut in der Lage sein, diese 
Software-Komponenten sorgfältig zu gliedern und zu strukturieren. 
Vielleicht lässt sich alles "lokal" (an einem (Windows- oder Linux-) PC, 
oder gegebenenfalls auf einem Mikrocontroller) abbilden.

Komplexere Systeme wie z.B. "Siri" und Co brauchen noch jede Menge 
Rechenleistung im Hintergrund, das wirst du nicht (nur) lokal abbilden 
können. Selbst solch eine Fern-Anbindung lässt problemlos mit PC oder 
Mikrocontroller darstellen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wer sich mal die Sprachsteuerung in einem alten C-Netz Autotelefon 
anschaut, erkennt, das es sogar in den Anfängen gehörige Rechenleistung 
brauchte, um auch nur ein paar Zahlen (und 5-6 Worte) zu erkennen. In 
einem geplünderten Exemplar arbeitete da ein DSP TMS320C25 mit 50MHz, 
10ns Dualport RAM, nochmal 128kB RAM und etwa 128kB ROM.
Von daher denke ich auch, das mindestens ein RPi(B?) nötig ist, um ohne 
Cloud Anbindung auch nur in die Anfänge der Sprachsteuerung zu kommen. 
Nicht zu vergessen einen schnellen Audioeingang, der den Rpi ohne 
ruckeln füttern kann.

von J. S. (engineer) Benutzerseite


Lesenswert?

Werner S. schrieb:
> Formantenanalyse:
> Jetzt ist er informiert.

Na ja, stimmt ja eigentlich auch. Mehr muss man wirklich nicht tun. Nur 
ist das eben nicht so einfach. Die Signale und die Muster müssen 
präpariert werden, um das effektiv zu tun. Einen Klangverlauf über die 
Zeit mit einem Muster zu vergleichen erfordert ein matching im 
Frequenzbereich, als FIR von FFT-Profilen und das ausreichend schnell.

Dann müssen statistische Bewertungen rein, um die Vokale und 
Explosivlaute zu erkennen, Worte und Silben hinterlegt werden, ein 
hashing etabliert werden, mit dem man schnell die offenkundigen 
mismatches rausschmeißen kann, um dann im Detail zu testen.

Im Prinzip ist es nichts anderes, als SW-Mustererkennung wie bei der BV, 
nur dass das Audio die Dimensionen Pegel = f(Zeit, Frequenz) hat während 
das Bild Pegel = f(X,Y) hat und das für die "Frequenzen" R,G,B.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

naja, vielleicht wil der Thread-Eröffner auch nur so was wie ein 
"Klatsch-Schalter" für verschiedene unterscheidbare "Töne".

Da liesse sich mit "Morse-Technik" irgendwas aufbauen. Dann ist es 
(fast) egal, ob das schnell oder langsam, gesprochen, gepupst oder 
sonstwie ton-generiert wird.

Naja, bei "50 - 100" brauchts auch irgendwas um 6-7 Bit. Und irgendwer 
muss sich dann merken, das "7 mal Kurz" dem Befehl "Tür auf" entspricht.

Beitrag #5607625 wurde von einem Moderator gelöscht.
von 2⁵ (Gast)


Lesenswert?

Sollte der TO noch mitlesen, ist hier etwas Lesematerial für ihn:

Ein älterer, aber immer noch aktueller Artikel, der aber gut den Stand 
der Technik für Einzelworterkennung beschreibt:

https://www.spektrum.de/magazin/prinzipien-stand-der-technik-sprecherabhaengige-einzelworterkennung/821429

https://de.wikipedia.org/wiki/Spracherkennung#Diskrete_und_kontinuierliche_Sprache

Eine Suche nach "Einzelworterkennung" liefert viel Material.

von Seyed M. (m5gpower)


Lesenswert?

Erstmal vielen Dank für die Zahlreichen Ideen und Ansatzpunkte.Ich habe 
es zu schwammig erklärt denke ich.

Zweite Versuch :D

Sound bzw. Worterkennung ist etwas zu weit gegriffen,dann müsste man ja 
quasi eine Datenbank oder Lokal jede Silbe und jedeswort anlernen und es 
müsste in der Lage aus Silben wörter zu bilden und es zu erkennen etc. 
Das ist schon etwas schlauer als das was ich vorhabe.

Mein Ansatz ist immernoch die:

Anlernen:
Ich spreche ein Wort aus oder ein Geräusch(mit Sound habe ich Geräusch 
gemeint) maximale länge wäre 5 sek. und es wird gespeichert in Frequenz 
oder was auch immer. (Die Frage mit Datei-Format .mp3 .wav etc.)

Nun spreche ich es wieder aus und der controller muss nur in der Lage 
sein es zu vergleichen(mit den anderen 50 gespeicherten frequenzen) und 
dann einen return wert zurück geben.

Die Herausforderung wäre dann wenn die Umgebung sich akustisch 
ändert,wäre es immernoch in der Lage die Freuquenzen zu erkennen bzw. zu 
unterscheiden.(Die Frage mit Noise reduzierung)

>un weiter. Jdm singt auf Tonhöhe des Kammertons a (440Hz) den
>Buchstaben "A". Nun singt der selbe jemand, wieder auf der selben
>Tonhöhe den Buchstaben "E". Beide haben eine Frequenz von 440Hz somit
>die selbe Wellenlänge. Wenn du nur die Wellenlänge einbeziehst, sehen
>das A und das E für deine Maschine exakt gleich aus.

Aber laut dieser Aussage ist es schwierig frequenzen genau zu 
unterscheiden... bzw. zu vergleichen.

Ich muss noch bissn. weiter forschen ansonsten muss ich das Projekt 
ändern..

von Stefan F. (Gast)


Lesenswert?

Seyed M. schrieb:
> Erstmal vielen Dank für die Zahlreichen Ideen und Ansatzpunkte.
> Ich habe es zu schwammig erklärt denke ich.

Ach nee, was für eine Erkenntnis! Wenn es in diesem Tempo weiter geht, 
schaffst du es vielleicht noch vor dem Altersheim, fertig zu werden.

Dein Ansatz, an dem du immer noch festhältst ist eine Sackgasse. Aber 
mach nur, lauf noch ein paar mal feste gegen die Wand, vielleicht ändern 
sich die Naturgesetze für dich.

Jedenfalls entnehme ich deinem letzten Beitrag, dass du kein Interesse 
an unserem Rat zeigst. Es war Zeitverschwendung für uns alle. Für Dich 
übrigens auch.

von freitag (Gast)


Lesenswert?

Stefanus F. schrieb:

> Dein Ansatz, an dem du immer noch festhältst ist eine Sackgasse. Aber
> mach nur, lauf noch ein paar mal feste gegen die Wand, vielleicht ändern
> sich die Naturgesetze für dich.
>
> Jedenfalls entnehme ich deinem letzten Beitrag, dass du kein Interesse
> an unserem Rat zeigst. Es war Zeitverschwendung für uns alle. Für Dich
> übrigens auch.

Wohl wahr.
Allerdings wurden die richtigen zielführenden Stichworte zum Thema auch 
noch nicht genannt, insofern hält sich die gebotene Hilfe in sehr 
übersichtlichen Grenzen. Also ist eigentlich eher als nicht vorhanden zu 
bezeichnen, genauer gesagt...

Vielleich solltest Du auch einmal selbstkritisch hinterfragen ob Du 
wirklich zu jedem Thema hier einen Kommentar absondern mußt, egal ob 
Ahnung vorhanden oder nicht.

Es ist ja keine Schande in einzelnen Fachgebieten nicht kompetent zu 
sein, man sollte sich dann aber auch mal zurückhalten, im Bewusstsein 
der eigenen Defizite. Und nicht dem Zwang unterliegen, als vermeintliche 
Forumsikone zwanghaft mit nichtssagende Sprechblasen in jeden Thread 
hinein zu grätschen.

von Seyed M. (m5gpower)


Lesenswert?

Stefanus F. schrieb:
> Seyed M. schrieb:
>> Erstmal vielen Dank für die Zahlreichen Ideen und Ansatzpunkte.
>> Ich habe es zu schwammig erklärt denke ich.
>
> Ach nee, was für eine Erkenntnis! Wenn es in diesem Tempo weiter geht,
> schaffst du es vielleicht noch vor dem Altersheim, fertig zu werden.
>
> Dein Ansatz, an dem du immer noch festhältst ist eine Sackgasse. Aber
> mach nur, lauf noch ein paar mal feste gegen die Wand, vielleicht ändern
> sich die Naturgesetze für dich.
>
> Jedenfalls entnehme ich deinem letzten Beitrag, dass du kein Interesse
> an unserem Rat zeigst. Es war Zeitverschwendung für uns alle. Für Dich
> übrigens auch.

Lieber Stefanus, du hast jetzt ein paar mal geantwortet und ich habe mir 
alle deine Antworten zum Thema nochmal durchgelesen und sie sind einfach 
nicht produktiv und du bist die ganze Zeit auf Konfrontation aus.
Lass es einfach, du bist keine Hilfe und sorgt für schlechte Stimmung.
Danke !

von Stefan F. (Gast)


Lesenswert?

Dun hast Recht, ich habe von diesem Fachgebiet nur wenig Ahnung. Ich 
habe fast 10 Jahre lang einige zig Voice Recognition Systeme und Voice 
Synthese von drei Herstellern betrieben und konfiguriert. Auf den 
Schulungen der Hersteller habe ich nur ein sehr grobes Verständnis von 
deren Funktionsweise erhalten.

Bevor wir den TO mit völlig falschen Annahmen ins Verderben laufen 
lassen, möchte ich ihn aber wenigstens davor warnen, wo sein gewählter 
Weg enden wird. Zumindest das kann ich mit Sicherheit erkennen.

Das ist ein sehr spezielles Fachgebiet, von dem nur wenige Leute Ahnung 
haben. Deswegen lautete mein Rat (ganz oben in der allerersten Antwort) 
bereits:

> Du kannst ja mal bei Nuance anfragen ob sie Dir ihre Methode verraten

Wenn er das Thema ernst meint und entsprechend Geld dafür hat, wird er 
bei dieser Firma die Hilfe bekommen, die er braucht. Da bin ich absolut 
sicher.

Hier noch der Link zur Firmenseite: 
https://www.nuance.com/mobile/speech-recognition-solutions.html

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Seyed M. schrieb:
> Anlernen:
> Ich spreche ein Wort aus oder ein Geräusch(mit Sound habe ich Geräusch
> gemeint) maximale länge wäre 5 sek. und es wird gespeichert in Frequenz
> oder was auch immer. (Die Frage mit Datei-Format .mp3 .wav etc.)
>
> Nun spreche ich es wieder aus und der controller muss nur in der Lage
> sein es zu vergleichen(mit den anderen 50 gespeicherten frequenzen) und
> dann einen return wert zurück geben.

Mach einfach mal folgenden, ganz simplen Versuch:

Nimm einen PC, auf dem eine Audiosoftware wie z.B. Audacity läuft, und 
nimm mehrfach hintereinander Dich selbst auf, wie Du das selbe Wort in 
in ein Mikrophon sprichst. Dazwischen aber stehst Du auf, verlässt den 
Raum, gehst eine Runde spazieren o.ä.


Und dann sieh' Dir einfach mal die Wellenformen der Audiodateien an, die 
Dir Audacity erfreulicherweise anzeigt.

von STK500-Besitzer (Gast)


Lesenswert?

Seyed M. schrieb:
> ich möchte für die Uni ein Projekt mit einem mikrocontroller, welches
> verschiedene Sounds erkennt

Da du an einer Uni studierst, hast du also schon selber recherchiert.
Sollte man zumindest von einem (Uni-)Studenten erwarten können.

Seyed M. schrieb:
> Lieber Stefanus, du hast jetzt ein paar mal geantwortet und ich habe mir
> alle deine Antworten zum Thema nochmal durchgelesen und sie sind einfach
> nicht produktiv und du bist die ganze Zeit auf Konfrontation aus.
> Lass es einfach, du bist keine Hilfe und sorgt für schlechte Stimmung.
> Danke !

Keine Ahnung haben, aber davon ganz viel.
Hilft Mama dir noch, deine Schuhe zu zubinden?

von Stefan F. (Gast)


Lesenswert?

Seyed M. schrieb:
>> Lieber Stefanus, du hast jetzt ein paar mal geantwortet und ich habe
>> mir alle deine Antworten zum Thema nochmal durchgelesen und sie sind
>> einfach nicht produktiv und du bist die ganze Zeit auf Konfrontation
>> aus.

STK500-Besitzer schrieb:
> Keine Ahnung haben, aber davon ganz viel.
> Hilft Mama dir noch, deine Schuhe zu zubinden?

Sieh das mal aus der Sicht von Seyed. Ich habe ihm wirklich nicht dabei 
geholfen, seinen bereits gewählten Weg weiter zu gehen. Im Gegenteil: 
Ich habe mehrfach versucht, ihn aufzuhalten. Wichtig ist, dass man voran 
kommt - genau daran hapert es momentan. Dass der TO nun unzufrieden ist, 
ist gut und richtig.

Mehr kann ich momentan sowieso nicht mehr beitragen. Es ist für mich 
wirklich Zeit, mich hier auszuklinken.

von freitag (Gast)


Lesenswert?

Stefanus F. schrieb:

> Bevor wir den TO mit völlig falschen Annahmen ins Verderben laufen
> lassen, möchte ich ihn aber wenigstens davor warnen

Ja, aber man sollte dann doch nichts sachlich falsches schreiben. Das 
geht gleich bei der ersten Antwort los:

Stefanus F. schrieb:
>> Werden die Sounds in mp3 format gespeichert, wäre das nicht
>> etwas zu groß bei 50-100 Sounds?
>
> Gegenfrage: Kennst du ein wesentlich kompakteres Format?

Ja! Selbstverständlich können die Daten wesentlich kompakter gespeichert 
werden, wenn Töne, Klänge und Geräusche nur zum Zwecke der Analyse / 
Mustererkennung gespeichert werden sollen.

Allerdings teile ich die Einschätzung daß TO kein wirkliches Interesse 
mitbringt.
Das Inet bietet tolle Recherchemöglichkeiten von denen wir früher nur 
geträumt hätten. Wenn dann trotzdem 0 Vorwissen vorhanden ist habe auch 
ich keine Lust hier den Erklärbär zu geben...

von ggdggggggg (Gast)


Lesenswert?

vieleicht reicht ihm das ja :
https://github.com/arjo129/uSpeech

von ggdggggggg (Gast)


Lesenswert?

ggdggggggg schrieb:
> https://github.com/arjo129/uSpeech

wenn man hier vieleicht weitere dinge ( spektrum usw )  einbezieht..
kann man damit vieleicht was anstellen

von Marc (Gast)


Lesenswert?

Jetzt müsste es eigentlich gehen, sagte der Entwickler bevor er die 
nächsten Monate nach dem Fehler suchte ..

Ist es nicht jedem von uns schon einmal so ergangen, wie dem 
selbstbewussten Jungstudenten der von der Einfachheit seiner Idee 
überzeugt, sich in in das Projekt stürzen will?

Natürlich weiß er noch nichts über die Untiefen der Spracherkennung, 
dass sich Wellenformen aufgrund von Schallreflexionen, stochastischer 
Einflüsse der Spracherzeugung durch die Stimmbänder und des Rachenraums 
als Resonanzfilters, nie wiederholen, an die Vokalklassifizierer, 
IIR-Filter, Waveletransformationen, CELP Decoder,  Markov-Ketten und 
KNNs die sich in Spracherkennungen finden.

Aber er ist noch jung und wird in seiner Laufbahn noch viel lernen.

von Andre R. (ltisystem)


Lesenswert?

Auch wenn ich finde, dass du ein noch grünerer Grünschnabel bist, als 
ich es schon bin und dazu noch rotzfrech - allerdings bist du ein 
Informatikersuperheld mit Selbstvertrauen (und das find ich dann wieder 
bemerkenswert) und habe noch Folgendes zu sagen:

Wenn du von Anlernen sprichst gebe ich dir mal den Stichpunkt Support 
Vector Machine mit auf den Weg. Lässt sich ziemlich gut unter Matlab 
einarbeiten und man kann in kurzer Zeit Erfolge erzielen (wir hatten 
binnen 1h EEG-Signale in "an rechts denken und an links denken" 
differenziert mit ner 80% Erfolgsquote). Allerdings bin ich kein 
Audiospezialist und weiß nicht ob es da vllt bessere Lösungen gibt. 
Letzte Woiche ging es um den Goertzel-Algorithmus, denke aber dass da 
Sprach zu komplex für ist. Vllt kannst du aj wirklich über Spektrum und 
SVM gehen...allerdings kenne ich keinen Mirkocontroller der das Ganze in 
Echtzeit umsetzen könnte...

Gruß

von Purzel H. (hacky)


Lesenswert?

Anlernen bedeutet eine statistische Analyse von vielen Samples. Und am 
Schluss sollten

Sample1[0..N], Samples2[0..N], Sample3[0..N], .. SampleM[0..N] alle 
hireichend Othogonal aufeinander sein.

Was der Poster noch nicht ganz begriffen hat, ist dass Sprache mehr als 
eine Sequenz von kleiner 5 sekunden clips ist.
Ich darf annehmen, dass die zu trainierenden Clips mehr als nur
"Licht an", "Licht aus", "Musik lauter", .. sein soll.

die Ueblichen systeme, Android, Amazon, usw haben alle ein Keyword, um 
die Aufmerksamkeit des Systems zu erregen : "Google", "Alexa"

allenfalls erst mal damit beginnen.

: Bearbeitet durch User
von Marc (Gast)


Lesenswert?

>vieleicht reicht ihm das ja :
>https://github.com/arjo129/uSpeech

Was dem Beispiel fehlt, ist eine Erklärung. Auf welchem Arduino soll das 
laufen? Uno? Due? irgend ein anderer? Wie ist das Mikrophon 
angeschlossen?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Marc schrieb:
> Was dem Beispiel fehlt, ist eine Erklärung.

schon mal auf der referenzierten Projektseite rumgestöbert?

Es ist ein Link zu wordpress.com, und befindet sich direkt auf der 
Startseite des github repository von uSpeech.

von Johnny B. (johnnyb)


Lesenswert?


von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

So schwer ist die Thematik nun auch wieder nicht. Einfache 
Wortmustererkennung ist simpel. Machen wir bei uns auch. Schon lange vor 
Alexa und Siri.

von Stefan F. (Gast)


Lesenswert?

Martin K. schrieb:
> So schwer ist die Thematik nun auch wieder nicht. Einfache
> Wortmustererkennung ist simpel. Machen wir bei uns auch. Schon lange vor
> Alexa und Siri.

Kannst du dem TO erklären, wie "Einfache Wortmustererkennung" 
funktioniert? Ich frage, weil ich neugierig bin. Damit könnte man coole 
Sachen basteln.

von Marc (Gast)


Lesenswert?

>schon mal auf der referenzierten Projektseite rumgestöbert?

Ups, glatt übersehen, es ist tatsächlich ein Arduino-Uno:
https://github.com/arjo129/uSpeech/wiki/Hardware
Es werden "Fricatives" ( Reiblaut, habe ich noch nie gehört ) erkannt.
https://github.com/arjo129/uSpeech/wiki/How-%C2%B5Speech-Detects-Phonemes

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.