www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tonfolge Erkennung mit Mega8


Autor: dani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgende Idee:

Mikrofon -> ad-Wandler z.B. Mega8

Ein Schaltvorgang soll nur ausgelöst werden, wenn eine bestimmte 
Tonfolge abgespielt wird. Z.b. Melodie einer Türklingel.
Ich habe schon im Forum gesucht aber nichts in dieser Richtung gefunden.

Ich dachte daran die Eingansbandbreite mittels Filter zu begrenzen, die 
Spannung AD zu wandeln und anschließend den zeitlichen VErlauf 
abzuspeichern.

Bei anliegen einer Tonfolge diese auch sampeln und mit der 
abgespeicherten vergleichen.

Hat von euch schonmal jemand etwas in dieser Richtung gemacht?

Gruß Dani

Autor: musik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nee, aber wenn Du einen Ton sicher anhand der Frequenz / Nulldurchgänge 
erkennst, sind mehrere (nach dem Erkennen auf den nächsten warten) nur 
noch eine Fleißübung. Wenn Die Türklingel nicht polyphon ist und wenn es 
nicht allzu laut ist, sollte es möglich sein.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat von euch schonmal jemand etwas in dieser Richtung gemacht?

Wenn es sich um ein Einstiegsprojekt handelt, ist das vieleicht ein 
bisschen Hochgegriffen. Um was für eine Art Melodie handelt es sich 
denn? Einstimmig oder Mehrstimmig?

Das vergleichen von Samples halte ich für inpraktikabel zumal der mega8 
garnicht soviel Speicherplatz zur Verfügung stellt, um sowas zu 
realisieren.

Bei einem einstimmigen Gong würde ich einfach die Anzahl der 
(virtuellen) Nulldurchgänge der Samples pro Sekunde messen und hierbei 
versuchen auf eine bestimmte Kombination zu erkennen.

Autor: dani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es soll nicht unbedingt ein Einstiegsprojekt sein. Ich habe schon 
Erfahrung mit den AVRs, aber bis jetzt noch nicht mit Sampling o.ä. 
gearbeitet.

Die Türklingel ist mehrstimmig was das Ganze sicher etwas komplizierter 
macht. Daher die Idee, die Samplings zu vergleichen. Die Länge der 
Melodie und der Frequenzumfang und damit der Speicherplatzbedarf ist 
überschaubar.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dani wrote:

> Ein Schaltvorgang soll nur ausgelöst werden, wenn eine bestimmte
> Tonfolge abgespielt wird. Z.b. Melodie einer Türklingel.


Hoerst Du so schlecht? ;)
Scherz beiseite warum koppelst Du das nicht direkt an die Tuerklingel, 
das waere wohl das einfachste. Mit einer komischen Erkennung, die 
versagen oder blind gehen kann und darueber hinaus noch ziemlich 
kompliziert ist wuerde ich da nicht unbedingt anfangen an Deiner Stelle.

Michael

Autor: dani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es soll die Grundlage für andere Projekte sein.

Es gab vor vielen Jahren z.B. einen Schlüsselanhänger der aufs Pfeifen 
reagiert hat. Schön wäre so ein Gerät das aber nur bei einer bestimmten 
Melodie reagiert. Denkbar wäre auch die Auswertung eines 
Handyklingeltons, so das ein Schaltvorgang nur bei einem bestimmten 
Klingelton ausgelöst wird ...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im letzen Elektor Sonderheft 'Mikrocontroller-Special 1' war so ein 
Thema drin.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist das dann ja was fuer Dich:
Beitrag "[V] Spracherkennungsmodul von Sensory"

Autor: Kai Franke (kai-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe in nächster Zeit etwas ähnliches vor
Dabei soll ein AVR (wahrscheinlich ATmega128) über ein Mikrofon Musik 
registrieren und grob filtern können, was heißt, dass er im Idealfall 
Musikstile anhand der Häufigkeit der einzelnen Frequenzen bestimmen 
kann.
Dafür werde ich aber wohl noch so etwas wie einen kleinen Spektrum 
Analyser vorschalten müssen, weil der AVR das wohl schlecht selbst 
auseinanderrechnen kann.
Ich weiß nicht ob das möglich ist, aber vielleicht würde dir das für 
dein Projekt reichen

Autor: volkstrottel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit dem zerlegen in frequenzen kann n avr schon
wenn man  ihm das richtig beibiegt.
hab gerade sowas ähnliches gemacht.

Mikrofon->Vorverstärker->ATMega32 ADC->FFT->DMX512->Laser/Dimmer/Gobo

War n ziemliches getüftel, geht aber.

die fft konnte maximal 7khz bis eben 0hz in 32 stufen zerlegen.
war ganz ok. gebremst hat halt das dmx ziemlich, daher
konnte ich nur 44 mal pro sekunde das ding durchziehen

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Auswerten der Nulldurchgänge (Signal am Oszi betrachten: hat mit 
Sinus recht wenig zu tun, es sind viele überlagerte Schwingungen) oder 
das Aufzeichnen der Samples (viel zu wenig Speicher) bringt Dich 
überhaupt nicht weiter.

Du musst in Richtung Filtern / FFT gehen.
Stichworte für die Suche: Götzelfilter, Tonfolge, ZVEI, DTMF
http://www.mikrocontroller.net/search?query=tonfol...

Hatten wir alles schon x-mal (deshalb bitte vor einer Frage suchen!):
z.B.
Beitrag "Audio-Signale Auswerten"
Beitrag "Stimm / Gesangsanalyse"
Beitrag "5 tonfolge zu rs232 wandlen"

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eProfi wrote:
> Das Auswerten der Nulldurchgänge (Signal am Oszi betrachten: hat mit
> Sinus recht wenig zu tun, es sind viele überlagerte Schwingungen) oder

Ich bezweifele stark, daß bei einem einstimmigen einfachen Tongenerator 
viele überlagerte Schwingungen rauskommen. Demnach könnte das Zählen von 
Nulldurchgängen pro Sekunde sehr wohl etwas bringen. Allerdings muss ich 
zugeben, daß ich hier eine elektrische Ankopplung wesentlich Sinnvoller 
halte.

Erwähnte Schlüsselanhänger funktionieren übrigens mit einem einfachen 
LC-Schwingkreis als filter. Da steckt also keine grossartige 
Melodieerkennung hinter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.