В итоге я использовал Artistic Style , который обеспечивает форматирование Whitesmith с опцией «style = whitesmith».
Не библиотека, а единый класс: bpmdetect. {cpp, h} от Mixxx.
Mixxx использует класс BPMDetect из библиотеки SoundTouch для обнаружения BPM. Существует также еще одна библиотека с открытым исходным кодом под названием BPMDj , которую труднее использовать, но она более точна.
Я лично не стал бы полагаться ни на что. С другой стороны, я любительский ди-джей, поэтому я склонен больше полагаться на свои уши.
EDIT
Есть гораздо лучшая библиотека OSS под названием aubio . Он также может выполнять обнаружение биений и обнаружение начала.
ДРУГОЙ РЕДАКТИРОВАНИЕ
Mixxx теперь переместился в набор плагинов VAMP, который намного лучше, поддерживает aubio и многие другие библиотеки обнаружения биений. Он также поддерживает обнаружение клавиш и другие функции анализа звука.
Также, если вы уже используете библиотеку GStreamer, есть элемент bpmdetect
как часть плагина soundtouch
, часть gstreamer-плагинов-плохими. Питоновые gstreamer-связи предназначены для довольно хорошей работы.