Moin, für ein Projekt müsste ich in Echtzeit die BPM eines laufenden Tracks erkennen. Zum Takt soll dann eine Lichtorgel angehen.
Nun hab ich mir schon einige Gedanken und Ideen dazu gemacht und wollte mal fragen, was wohl eher realisierbar mit dem Pi ist..(hinsichtlich Rechenaufwand etc.).
Idee 1: Den Pi als MediaPlayer nutzen (Kein Problem, ansich) und über eine Art LoopBack das Audiosignal ziehen und dann, ja, den Algorithmus entwickeln um BPM zu erkennen.
Idee 2: Externes Mikrofon über USB/GPIO anschließen, und so das Signal zuführen.
Problem bei Idee 1: Ich kann den Rechenaufwand nicht einschätzen, da ich auch noch nicht weiß wie ich den Algorithmus realisiere, grundlegend war gedacht: Samples auf 100 pro Sekunde runterbrechen und dann eine Art Spitzenerkennung durchführen, dadurch dann auf die BPM schließen. Gibts noch keinen Ansatz zu.
Problem bei Idee 2: Das Mikrofon müsste schon ein wenig Partypegel abkönnen müssen.
Allgemein: Ich arbeite (ausschließlich) mit Qt5 und dementsprechend C++.
Kann mir wer Tipps dazu geben, wie ich welchen Weg einschlagen will? Es soll am Ende kein DSP sein, noch iwas mit FFT, einfach nur die "Peaks" der Musik erkennen, und passend ein paar(anfangs erstmal nur EINE) LEDs einschalten.
Gruß, Daniel