我使用了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个样本?
答案 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个样本,但我不确定您在尝试使用它时可能遇到的限制。