我需要分析写入 .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
作为这段代码的结果,我希望看到声压是时间的函数。相比之下,我看到了很多奇怪的、神秘的符号(不是十六进制数)。任何人都可以帮我解决这个问题吗?
原文由 Roman 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 文档,
scipy.io.wavfile.read(somefile)
返回两个项目的元组:第一个是每秒样本的 采样率,第二个是numpy
包含从文件读取的所有数据的数组: