2010-02-14 3 views
6

я в настоящее время озираясь для хорошего Allround избили обнаружение библиотеки/исходный код в C++, так как я нашел, что это действительно трудно достичь удовлетворительных результатов с кодом обнаружения биений я написал сам, используя этот учебник: http://www.gamedev.net/reference/programming/features/beatdetection/C++ FFT Библиотека детектирования бит?

Это особенно действительно трудно, если вы хотите заставить его работать с любой музыкой, поэтому мне было интересно, есть ли что-то полезное там allready?

Спасибо!

ответ

-1

Возможно, мне что-то не хватает, но я не понимаю, почему вы не можете использовать программу FFT научной библиотеки GNU (или любые другие, подобные тем, которые включены в BOOST)?

+0

Я ищу обнаружение Beat, которое использует FFT как входной сигнал и обнаруживает, что новый бит в определенном диапазоне или нет. Предоставленные вами libs являются «просто» процедурами FFT, если я не ошибаюсь? – user240137

+1

Чтобы обнаружить «бит» или в основном периодический всплеск, вам нужно только FFT? – dangerstat

+1

Да, во всех реализациях обнаружения биений, которые я видел до сих пор, вы в основном сравниваете БПФ с одним из кадров раньше и, возможно, запускаете некоторые функции сглаживания на нем, чтобы отклонить любой шум. то, если разница превышает определенный динамический порог, у вас есть удар. – user240137

2

Посмотрите на систему Vamp Plugin и доступные плагины (http://vamp-plugins.org/).

(с сайта) Vamp является обработка аудио система плагинов для плагинов, которые извлекают описательную информацию из аудиоданных

КМ Плагин набор кажется особенно актуальным (http://vamp-plugins.org/plugin-doc/qm-vamp-plugins.html).

+0

Да, они разработаны именно для этого. –

0

Ах, Vamp. Если бы только интересные работали в режиме реального времени.

user240137, я не знаю, действительно ли вы все это в «принимаете ответы», но после того, как я посмотрел в Vamp, я обнаружил Aubio (aubio.org) и нашел, что он легче взламывает свои функции в мои проекты работать в режиме реального времени (если это то, что вам нужно).

Последнее: если вы действительно хотите обработать свой собственный БПФ, используйте kissFFT как более легкую альтернативу FFTW.

4

Вы можете попробовать Aubio: http://aubio.org/

Это, кажется, не работает (по крайней мере для меня, сегодня) в окнах, но он работает в OS/X

+0

должен хорошо работать на windows в наши дни, попробуйте! – piem