使用python生成“恒定”音频波形?

时间:2016-11-15 20:55:48

标签: python audio waveform

我正在寻找能产生“恒定”音频波形的东西,如下所示:A constant waveform

我有一组模拟数据:

12766:149
12786:0
13339:149
13359:0
13721:57
13741:0
15249:255
15269:0
15822:87

格式为time_in_ms:amplitue。我尝试从耳机插孔输出它们。

我认为上面所示的“恒定波形”可以看作是多个方波的组合,其频率非常小,振幅不同,持续20ms。

这可能吗?我能做到这一点的是什么?

1 个答案:

答案 0 :(得分:1)

我猜您可以使用wave模块将原始PCM音频帧写入.wav文件... https://docs.python.org/3/library/wave.html如果您的幅度范围为0到255(包括0和255),它可能最简单创建一个宽度为1(字节)的wav文件,然后将幅度作为字节写入样本帧。

with wave.open("test.wav","w") as w:
   w.setnchannels(1)
   w.setsampwidth(1)
   w.setframerate(4000)   # 4000 samples/sec
   w.writeframes(bytearray([100]*4000))   # 4000 samples of amplitude 100

以上创建了一个小文件' test.wav'这是一个恒定幅度为100的单声道8位音频波形。相应地更改代码以从输入文件中写入幅度值,根据需要调整采样率