Tonfolge Erkennung mit Mega8

Gast #952993
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
Gast #953015
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.
#953018
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.
Gast #953032
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.
Persönliche Seite #953038
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
Gast #953051
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 ...
Persönliche Seite #953861
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
Gast #953873
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
Gast #954186
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=tonfolge&forums%5B%5D=1&forums%5B%5D=19&forums%5B%5D=9&forums%5B%5D=10&forums%5B%5D=2&forums%5B%5D=4&forums%5B%5D=3&forums%5B%5D=6&forums%5B%5D=17&forums%5B%5D=11&forums%5B%5D=8&forums%5B%5D=14&forums%5B%5D=12&forums%5B%5D=7&forums%5B%5D=5&forums%5B%5D=18&forums%5B%5D=15&forums%5B%5D=13&forums%5B%5D=16&max_age=-&sort_by_date=0

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"
#955791
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.