В настоящее время я использую getID3 () для чтения данных тега mp3, таких как имя исполнителя, размер файла, продолжительность и т. Д. Все это происходит на лету, когда пользователь загружает файл на мой сайт.
Однако я хотел бы автоматически определять темп в ударов в минуту для каждой песни, чтобы сохранить его в своей базе данных.
Итак, в двух словах, я ищу либо утилиту командной строки, которую можно запустить с сервера centOS, либо скрипт на основе php, который будет принимать файл mp3 или wav, анализировать его и возвращать темп в виде bpm.
Я нашел soundstretch, но он, очевидно, может сделать это, но по некоторым причинам, кажется, не может его установить.
У кого-нибудь есть идеи?
РЕДАКТИРОВАТЬ: мне наконец-то удалось успешно установить soundtouch / soundstretch.
Я хотел бы вызывать их динамически из моего скрипта загрузки php, чтобы можно было добавить возвращаемое значение bpm в базу данных.
Я пытался следовать безуспешно ...
$bpm = exec("soundstretch $filename -bpm");
при условии, что переменная $ bpm теперь будет содержать bpm. Должно быть, я неправильно понимаю, как работает soundtouch. к сожалению документация минимальная.
Как бы я собрал возвращенный бит / мин и сохранил его как переменную, чтобы сохранить его в своей базе данных.