Быстрый спектральный анализ аудиофайла с использованием Python 2.6?

Что я хочу сделать, так это иметь подпрограмму, которая анализирует каждые 200 миллисекунд звукового файла, который ей дается, и выдает значение интенсивности частоты (от 0 до 1 в виде числа с плавающей запятой) определенного частотного диапазона в массив, который я позже спасти. Затем это значение используется в качестве значения непрозрачности для графики, которая должна «стробировать» звуковой файл.

Проблема в том, что я никогда раньше не занимался анализом звука и понятия не имею, с чего начать. Я просмотрел pymedia и scipy/numpy, думая, что смогу использовать FFT для достижения этого, но я не совсем уверен, как я буду манипулировать этими данными, чтобы получить желаемый результат. Документация по классу SpectrAnalyzer для pymedia практически отсутствует, а примеры на веб-сайте фактически не работают с последним выпуском библиотеки, что не совсем облегчает мою жизнь.

Как бы я начал этот проект? Я в полной растерянности относительно того, какие библиотеки мне следует использовать.


person Ephemeralis    schedule 13.06.2010    source источник
comment
Вы можете найти полезный код здесь: swharden.com/blog/   -  person unutbu    schedule 13.06.2010


Ответы (1)


Сначала вам нужно понять, как работает выборка, затем вы должны использовать процедуры Scipy FFT (они довольно быстрые), чтобы выдавать значения интенсивности частоты, затем вы можете использовать Matplotlib для построения такой графики. См. здесь статью об использовании Python для анализа звуковые файлы и здесь аналогичный вопрос о БПФ и спектрограммах в Python.

person Tarantula    schedule 13.06.2010
comment
У меня есть данные, которые, как мне кажется, мне нужны сейчас после использования scipy.io.wavfile для загрузки сигнала моего аудиофайла и функции спектрограммы из matplotlib для его анализа, но я понятия не имею, что делать с этими данными . Вроде бы все, что мне нужно - просто нет идеи сделать это осязаемым. Любые идеи? - person Ephemeralis; 15.06.2010