2013-02-19 2 views
-1

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

Каждый образец должен быть списком амплитуд синусоидальной волны с несколькими интервалами.

Заранее благодарен!

ответ

1

Если вы просто хотите, чтобы прочитать файл WAV, библиотека волна должна сделать этот штраф: http://docs.python.org/2/library/wave.html

Например:

import wave 
CHUNK_SIZE=1024 
wf = wave.open('filename.wav') 
data = wf.readframes(CHUNK_SIZE) 
while data != '': 
    do_something(data) 
    data = wf.readframes(CHUNK_SIZE) 

прочтет 1024 образцов в данных. То есть, данные будут представлять собой массив из 1024 записей, каждый из которых имеет амплитуду в определенное время, когда это время зависит от частоты кадров в файле. См. Этот вопрос: What does a audio frame contain? для более подробного объяснения.

+0

Я пробовал это. Каждый кусок - это куча гекса (например, \ xff). Есть ли способ конвертировать все из них в целые числа? – joshreesjones

+0

int (hexstring.encode ('hex'), 16) преобразует строку типа '\ xff' в десятичный – nat

+0

Эти вопросы очищены для меня: [ссылка] http://stackoverflow.com/questions/14963699/ How-do-i-fix-this-error-typeerror-str-does-not-support-the-buffer-interface/14963750 # 14963750 [/ link] [ссылка] http://stackoverflow.com/questions/14961562/как-делать-я-новообращенный-а-строковое из-шестнадцатеричных значений к-а-лист-из-целых чисел [/ ссылка] – joshreesjones

Смежные вопросы