问题描述
我有一组数字
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)。
现在,如果您打算连续渲染三个波,则必须确定每个段的持续时间,并注意两个波之间的连接以零振幅完成,以防止数字点击。