2013-12-21 2 views
0

Я пишу аккордовый распознаватель для школьного проекта. Мне нужно извлечь функции из mp3-файла и использовать SVM с ярлыками аккордов.Функция Извлечение из аудиофайла с использованием python

Как извлечь частоты из аудиофайла.

Есть ли какой-нибудь scipy-пакет, который может заставить меня бить синхронную цветность.

ответ

0

Декодирование становится намного проще даже при использовании самодельного инструмента, если для получения некоторого необработанного потока (включая WAV-файл, который является просто сырым потоком и оболочкой вокруг него). Под обычным Unix-подобным, вы можете сделать это, например. с mpg123 -s, mplayer -ao pcm:fast:file=$outfile и так далее. Но я сомневаюсь, что вы можете найти библиотеку, которая в конечном итоге поддерживает все сжатые аудиоформаты.

(Кроме того, SoX хорошо конвертировать между всеми несжатых форматов.)

+0

Как я могу получить функции из wav-файла? –

+0

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

+0

спасибо за помощь :) Я хочу сделать хромаграмму, которая используется для идентификации музыкальных нот. Я думаю, что есть набор цветных инструментов для matlab, но я не могу найти ничего подобного для python. –

0

Вы можете читать звуковые файлы с wave пакета питона. Вероятно, самый простой способ получить частоты - это взять FFT (numpy.fft) и найти пики на выходе. Вы хотите, чтобы ваши вызовы FFT меняли время на то, что имеет смысл (окна, где смолы согласованы), иначе вы будете смотреть на кучу частотных паттернов друг на друга.

Удачи!