写入.wav文件

时间:2015-11-27 15:08:47

标签: python audio

我使用了scipy.io.wavfile中的write函数来生成.wav文件。

final_out = np.int16(stereo_out/np.max(np.abs(stereo_out)) * 32767)
write('final.wav', fs, final_out)

是否有任何备用函数允许超过32767个样本?

2 个答案:

答案 0 :(得分:1)

可以使用scipy.io.wavfile写入wav文件的没有样本数的限制。样本数量的actual limitation是2 ^ 32(4,294,967,296),但它来自于标头将样本数存储为32位无符号整数的事实。

然而,WAV格式以16位存储每个样本的幅度。

使用16位的有符号整数,您只能存储[-32768,32767]范围内的数字,您需要相应地缩放信号以适应该范围。

您可以将该数字视为系统可以产生的最高振幅的分数(比率)。

答案 1 :(得分:0)

您可以查看Python标准库中的wave module。它可能允许您编写超过32767个样本,但我不确定您在尝试使用它时可能遇到的限制。