Я должен проанализировать звук, записанный в .wav файле. Для этого я должен преобразовать этот файл в набор чисел (массивы, например). Я думаю, что должен использовать волновой пакет. Однако я не знаю, как точно это работает. Например, я сделал следующее:
import wave
w = wave.open('/usr/share/sounds/ekiga/voicemail.wav', 'r')
for i in range(w.getnframes()):
frame = w.readframes(i)
print frame
В результате этого кода я ожидал рассматривать звуковое давление как функцию времени. По контрасту я вижу много странных, таинственных символов (которые не являются шестнадцатеричными числами). Может кто-либо, просьбы, помогать мне с этим?
Согласно источникам , scipy.io.wavfile.read (somefile)
возвращает кортеж из двух элементов: первый - это частота дискретизации в отсчетах в секунду, второй - массив numpy
со всеми данными, прочитанными из файла. Выглядит довольно просто в использовании!
например:
from scipy.io import wavfile
fs, data = wavfile.read('./output/audio.wav')
Если вы собираетесь выполнить передачу данных в данных сигнала, возможно, вы, возможно, следует использовать Scipy , в частности Scipy.io.wavfile
.