我需要分析写在 .wav 文件中的声音。为此,我需要将此文件转换为一组数字(例如数组)。我想我需要使用wave包。但是,我不知道它是如何工作的。例如我做了以下事情:
import wave
w = wave.open('/usr/share/sounds/ekiga/voicemail.wav', 'r')
for i in range(w.getnframes()):
frame = w.readframes(i)
print frame
由于这段代码,我希望将声压视为时间的函数。相比之下,我看到了很多奇怪的、神秘的符号(不是十六进制数字)。有人可以帮我吗?
最佳答案
根据 the documentation , scipy.io.wavfile.read(somefile)
返回两个项目的元组:第一个是 sampling rate以每秒采样数为单位,第二个是 numpy
数组,其中包含从文件中读取的所有数据:
from scipy.io import wavfile
samplerate, data = wavfile.read('./output/audio.wav')
关于python - 在 Python 中读取 *.wav 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060628/