Музыкальный анализ с компьютером
Я пытаюсь анализировать музыку из mp3 файлов. Я хочу получить информацию о темпе, высоте и других музыкальных характеристиках. Как я могу получить эти данные? Есть ли программное обеспечение с открытым исходным кодом, которое дает мне эту информацию, или, что еще лучше, библиотека?
Кто-нибудь может дать мне подсказку о том, что делать или с чего начать искать? Благодарю.
4 ответа
LibMAD - это библиотека mp3-декодеров с открытым исходным кодом, которая работает очень хорошо. Это даст вам "необработанные" данные, которые нужно изменить. Чтобы получить высоту и некоторые другие "характеристики", вам нужно погрузиться в математику.
Высота звука - это, по сути, частота звука. Это можно сделать "на лету" (на самом деле в блоках данных) с использованием БПФ. Pythons Numpy имеет функции FFT (если у вас есть необработанные данные). Библиотека для FFT в C++ можно найти здесь.
Некоторую "математику" за БПФ можно найти здесь
Темп также может быть рассчитан путем применения нескольких фильтров нижних частот 2-го порядка к необработанным данным, а затем их БПФ. Цифровые фильтры также обсуждаются в dspguide, который связан с выше.
Удачи, это хорошие вещи, но много математики, если вы не готовы к этому.
Если вы не знаете, с чего начать, я бы порекомендовал вам просто купить Sound Forge или другую профессиональную программу редактирования, которая уже имеет алгоритмы. Если вы действительно полны решимости, то возьмите свою книгу по физике, потому что именно там она и появится. Поиск общей высоты звука - это преобразование исчисления. Другая информация о звуке, например темп, может быть найдена с помощью фильтров импульсного отклика и некоторого ИИ. Если вы не чувствуете себя действительно преданным, просто купите редактор.
Обновление: если вы действительно хотите пойти на это, вот отличный ресурс.
Рассмотрим анализаторы модулей на языке программирования музыки ChucK: http://chuck.cs.princeton.edu/doc/examples/
Отвага поможет. Если вы хотите использовать их из своей программы, вы можете проверить их исходный код. http://audacity.sourceforge.net/download/source
Примечание. Сначала загрузите Audacity, чтобы проверить, есть ли в нем все, что вам нужно.