Чтение *.wav файлы в Python

Я должен проанализировать звук, записанный в .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

В результате этого кода я ожидал рассматривать звуковое давление как функцию времени. По контрасту я вижу много странных, таинственных символов (которые не являются шестнадцатеричными числами). Может кто-либо, просьбы, помогать мне с этим?

75
задан BrechtDeMan 30 January 2016 в 12:49
поделиться

2 ответа

Согласно источникам , scipy.io.wavfile.read (somefile) возвращает кортеж из двух элементов: первый - это частота дискретизации в отсчетах в секунду, второй - массив numpy со всеми данными, прочитанными из файла. Выглядит довольно просто в использовании!

например:

from scipy.io import wavfile
fs, data = wavfile.read('./output/audio.wav')
87
ответ дан 24 November 2019 в 11:29
поделиться

Если вы собираетесь выполнить передачу данных в данных сигнала, возможно, вы, возможно, следует использовать Scipy , в частности Scipy.io.wavfile .

1
ответ дан 24 November 2019 в 11:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: