Forum: Digitale Signalverarbeitung / DSP / Machine Learning Beatdetection mit DSP?


von Rene (Gast)


Lesenswert?

Hallo Alle,

ich komme zwar aus der Elektronik, habe mich jedoch bisher nicht mit 
DSPs beschäftigt.

Ich bauen grad einen Lichteffekt, der sich nach dem Beat der Musik 
bewegen soll.
Ich will also keine Wissenschaftliche Beatextraktion machen, sondern es 
reicht aus, wenn man beim Betrachten des Lichteffekts meint, dass er 
sich zu 90% zum Beat der Musik bewegt.

Die Schaltung zur Lösung dieser Aufage sollte nicht all zu viele 
Bauteile benötigen und einen Preis ca. 5 Euro nicht überschreiten.

Wäre so etwas möglich?

Danke im Voraus an alle schonmal.

Gruß, René

von Mark B. (markbrandis)


Lesenswert?

Wenn es eine Bassdrum in Viervierteltakt gibt, sollte das vom Prinzip 
her so gehen:

-Fouriertransformation
-den Bereich um 50 Hertz herum anschauen (sagen wir ca. 30-100 Hertz)
-lokale Maxima detektieren
-fertig.

Alternativ: Ein Tiefpassfilter, der nur die Bassdrum "durchlässt". Die 
Peaks im gefilterten Signal sind dann eben die lokalen Maxima von oben.

Bei Musik, die keinen "starken Beat" hat, wird es aber schon 
schwieriger. Vermutlich geht es hier aber eher um Disco (wegen des 
Lichteffekts), da sollte das passen.

Eine Lösung mit einem veritablen DSP könnte allerdings teurer werden als 
5 Euro. Die Frage ist, ob es unbedingt einen DSP braucht - Tiefpässe 
kann man ja auch diskret realisieren. Lichtorgeln gab es schon vor DSPs.

von Strubi (Gast)


Lesenswert?

Moin,

Fourier ist vielleicht zu sehr "Spatzenkanone", ein einfacher 2 tap IIR 
(harmonischer Oszillator, gedämpft) reicht bestimmt auch. Dann kriegt 
man's auch mit dem billigen uC hin. Aber bei den 5€ bin ich auch 
skeptisch :-) die meisten üblichen ARMs mit eingebautem ADC kosten a 
bisserl mehr..

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

Ein FFT macht auch nichts anderes, als spektral zu filtern. Ich würde 
ein Tiefpassfilter nehmen, das von 10Hz bis 80Hz reicht (Gleichanteil 
weg!) und dieses dann gleichrichten und mit mit einem zweistufigen 
Filter mit 5 Hz und 3 Hz Grenzfrequenz bearbeiten.

Die 5 Hz lassen Amplitudenschwankungen im Bereich von 300 bpm durch 
(also alles) und das 3Hz Filter auch noch etwa 180bpm , also praktisch 
auch alles, nur schwächer. Die Differenz zwischen beiden Filterausgängen 
ist der Beat, allerdings mit jitter. Das Ganze muss dann mit einem 
manuellen diskreten Filter, das als PLL agiert, anaylsiert werden. Der 
beat wird gemessen und in einem Fenster , in dem der neue erwartet wird, 
angenommen. Dann langsam nachregeln. So machen es die Pulsuhren.

von BoeserFisch (Gast)


Lesenswert?

Das Originalposting bezieht sich auf den Beat der Musik, nicht auf den 
Beat im Sinne einer Schwebung. Also bloss nicht die Dinge 
verkomplizieren...

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.