"Constant" 使用 python 生成音频波形?

"Constant" audio waveform generation using python?

我正在寻找可以生成 "constant" 音频波形的东西,它看起来像这样: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。我尝试从耳机插孔输出它们。

我觉得上面的"constant waveform"可以认为是多个频率很小的方波的组合,幅度不同,持续20ms。

这可能吗?我可以做什么?

我想您可以使用 wave 模块将原始 PCM 音频帧简单地写入 .wav 文件... https://docs.python.org/3/library/wave.html 如果您的振幅范围从 0 到 255(含),则可能最容易创建一个 sampwidth 为 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 位音频波形。相应地更改代码以写入输入文件中的幅度值,根据需要调整采样率