Анализ аудиоданных для атрибутов во временных интервалах - PullRequest
2 голосов
/ 09 сентября 2011

Я давно хотел поиграть с разбором аудио, но мне не удалось найти нужную библиотеку для того, что я хочу сделать.

Я просто хочу проанализировать звуковой файл и получить амплитуды / частоты и другую соответствующую информацию в определенное время в течение песни (например, каждые 10 мс или около того), чтобы я мог отобразить данные, например, где песня ускоряет много и где это становится действительно громко.

Я немного посмотрел на OpenAL, но, похоже, он не предоставляет такую ​​возможность, кроме того, что мне не особо повезло с поиском того, с чего начать. Если кто-то сделал это или использовал библиотеку, которая может сделать это, то точка в правильном направлении будет принята с благодарностью. Спасибо!

1 Ответ

1 голос
/ 09 сентября 2011

Для анализа и декодирования аудиофайлов у меня были хорошие результаты с libsndfile , который работает в Windows / OSX / Linux и имеет открытый исходный код (лицензия LGPL). Эта библиотека не поддерживает mp3 (автор хочет избежать проблем с лицензированием), но поддерживает FLAC и Ogg / Vorbis.

Если работа с закрытыми исходными библиотеками не представляет для вас проблемы, то интересным вариантом может быть Quicktime SDK от Apple. Этот SDK доступен для OSX и Windows и является бесплатным для зарегистрированных разработчиков (вы также можете бесплатно зарегистрироваться в качестве разработчика Apple). С помощью QT SDK вы можете анализировать все форматы файлов, которые поддерживает Quicktime Player, включая .mp3. SDK предоставляет вам доступ ко всем кодекам, установленным QuickTime, так что вы можете читать файлы .mp3 и декодировать их в PCM на лету. Обратите внимание, что для использования этого SDK у вас должен быть установлен бесплатный QuickTime Player.

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

есть несколько интересных проектов с открытым исходным кодом.

Я рекомендую вам начать с простого, например, с работы по анализу амплитудных данных, которые легко доступны из образцов PCM без какой-либо обработки. Возможность визуализации данных очень полезна, и я считаю Audacity отличным инструментом визуализации, и, поскольку он является открытым исходным кодом, вы можете создавать собственные тесты внутри него.

Удачи!

...