Любой язык, но предпочтение относится к php, perl, python.
Ответ 1
Mixxx использует класс BPMDetect из библиотеки SoundTouch для обнаружения BPM. Существует также другая библиотека с открытым исходным кодом, называемая BPMDj, которая сложнее в использовании, но более точно.
Я лично не стал бы полагаться и на то, хотя. Затем я снова являюсь диджеем-любителем, поэтому я склонен больше полагаться на свои уши.
ИЗМЕНИТЬ
Существует гораздо лучшая библиотека OSS, называемая aubio. Он также может выполнять обнаружение биений и обнаружение начала.
ДРУГОЕ ИЗОБРАЖЕНИЕ
Mixxx теперь переместился на набор плагинов VAMP, что намного лучше, поддерживает aubio и многие другие библиотеки обнаружения бит. Он также поддерживает функции обнаружения ключей и других функций анализа звука.
Ответ 2
Не библиотека, а один класс: bpmdetect. {cpp, h} из Mixxx.
Кроме того, если вы уже используете библиотеку GStreamer, есть элемент bpmdetect как часть плагина soundtouch, часть gstreamer-plugins-bad. Связывание gyther python должно быть довольно хорошим.