python - 在 Python 中读取 *.wav 文件

标签 python audio wav wave

我需要分析写在 .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/

相关文章:

java - .wav 文件中的原始数据是什么意思?

python - interp2(V,k) 从 Matlab 到 Python

python - Django:具有与客户端关联的唯一分机号,但与另一个客户端关联的相同分机号

python - 定义保存电子邮件的邮箱 - win32client python

php - 如何将音频文件(即时)转换为浏览器?

c# - WAV播放后C#SoundPlayer静态

python - 上传的文件/ block 正在消失

iPhone 视听效果

python - 如何使用python连接文件夹中的所有音频(.wav)文件?

python - 使用python过滤wav文件