7 Stimmen

c++ FFT Beat-Erkennungsbibliothek?

Ich bin derzeit auf der Suche nach einer guten Allround-Beat-Detection-Bibliothek / Quellcode in C++, da ich mit dem Beat-Detection-Code, den ich mit Hilfe dieses Tutorials selbst geschrieben habe, nur schwer zufriedenstellende Ergebnisse erzielen konnte: http://www.gamedev.net/reference/programming/features/beatdetection/

Es ist besonders schwierig, wenn man es mit irgendeiner Art von Musik arbeiten lassen will, also habe ich mich gefragt, ob es bereits etwas Brauchbares gibt?

Danke!

5voto

user1804862 Punkte 51

Sie könnten es mit Aubio versuchen: http://aubio.org/

Es scheint (zumindest bei mir) unter Windows nicht zu funktionieren, aber unter OS/X funktioniert es

2voto

Taybin Punkte 31

Sehen Sie sich das Vamp-Plugin-System und seine verfügbaren Plugins an ( http://vamp-plugins.org/ ).

(von der Website) Vamp ist ein Audioverarbeitungs-Plugin-System für Plugins, die beschreibende Informationen aus Audiodaten extrahieren

Das QM-Plugin-Set scheint besonders relevant zu sein ( http://vamp-plugins.org/plugin-doc/qm-vamp-plugins.html ).

0 Stimmen

Ja, die sind genau dafür gedacht.

0voto

dangerstat Punkte 477

Vielleicht übersehe ich etwas, aber ich verstehe nicht, warum Sie nicht die FFT-Routine der GNU Scientific Library (oder eine andere, wie sie in BOOST enthalten ist) verwenden können?

0 Stimmen

Ich bin auf der Suche nach einer Beat-Erkennung, die FFT als Input verwendet und erkennt, ob es einen neuen Beat in einem bestimmten Bereich gibt oder nicht. Die Bibliotheken, die Sie zur Verfügung gestellt haben, sind "nur" FFT-Routinen, wenn ich mich nicht irre?

1 Stimmen

Um einen "Beat" oder im Grunde eine periodische Spitze zu erkennen, brauchen Sie nur die FFT?

1 Stimmen

Ja, in allen Beat-Erkennungsimplementierungen, die ich bis jetzt gesehen habe, vergleicht man im Grunde die FFT mit der des vorherigen Frames und lässt vielleicht einige Glättungsfunktionen darauf laufen, um jede Art von Rauschen auszuschließen. wenn der Unterschied dann über einem bestimmten dynamischen Schwellenwert liegt, hat man einen Beat.

0voto

buildsucceeded Punkte 4165

Ah, Vamp. Wenn nur die interessanten in Echtzeit funktionieren würden.

user240137, ich weiß nicht, ob Sie wirklich alle, dass in "akzeptieren Antworten", aber nach der Suche in Vamp fand ich Aubio (aubio.org) und haben es einfacher, seine Funktionen in meine Projekte zu hacken, um Echtzeit-Arbeit zu tun (wenn das ist, was Sie suchen).

Zuletzt: Wenn Sie wirklich Ihre eigene FFT bearbeiten wollen, verwenden Sie kissFFT als einfachere Alternative zu FFTW.

0voto

dasar Punkte 5221

OnsetsDS - Erkennung von musikalischen Anfängen in Echtzeit C/C++ Bibliothek http://onsetsds.sourceforge.net/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X