有没有办法将多个频率写入 .wav 文件?

问题描述

我有一组数字

a = [440,320,650]

我正在尝试编写一个按顺序写入这些频率的 .wav 文件。但我不知道 scipy.io.wavfile 是否能够将频率数组写入 wav 文件。我现在能做的就是

wavfile.write('Sine.wav',rate,a[0])

不过我正在考虑做这样的事情。

对于范围内的 x(0,len(a)): #wavfile.addFrequency('Sine.wav',a[x])

解决方法

“按顺序”对我来说听起来不太清楚。我猜你想混合那些正弦波。为此,您必须通过将它们的幅度值相加来制作具有 3 个正弦波的单个波。对于每个样本,必须添加三个值(每个正弦值一个),注意结果永远不会溢出 -1.0 或 1.0(对于浮点值,对于 16 位整数,范围将是 -32768 到 32767)。

现在,如果您打算连续渲染三个波,则必须确定每个段的持续时间,并注意两个波之间的连接以零振幅完成,以防止数字点击。