如何进行实时处理的音频采样?
音频其实是一个复杂的正弦波。我想从正在播放的音频文件中获取一些数据,并对这些数据进行处理。
每个采样应该是一个列表,里面记录了在多个时间点上正弦波的振幅。
谢谢大家的帮助!
1 个回答
1
如果你只是想读取一个wav格式的音频文件,使用wave库就可以了,这个库很简单好用。你可以在这里查看相关文档:http://docs.python.org/2/library/wave.html
举个例子:
import wave
CHUNK_SIZE=1024
wf = wave.open('filename.wav')
data = wf.readframes(CHUNK_SIZE)
while data != '':
do_something(data)
data = wf.readframes(CHUNK_SIZE)
这段代码会把1024个音频样本读取到一个叫做data的变量里。也就是说,data会变成一个包含1024个数的数组,每个数代表在某个特定时间的音量大小,而这个时间是根据文件的帧率来决定的。如果你想了解更多,可以看看这个问题:音频帧里包含什么?