我是一名音频开发人员,他希望从python中读取和写入32位浮点音频文件以进行测试。经过几个小时的放屁,我已经意识到我遇到的问题仅限于浮点格式。我可以从numpy数组中成功编写一个16位定点文件(即使aifc文档中没有例子)。
我还看到了其他几个库PySoundFile和Audiolab,虽然它们要么真的很旧和/或没有正确安装。
在python中完成这项工作的正确方法是什么?关于在python中编写声音文件的主题,谷歌结果令人震惊。
以下代码不起作用,但它基于非常相似的代码, 适用于16位定点数据。
def write_test_float_aiff(data):
f = aifc.open('test.aiff', 'w')
f.setframerate(44100)
f.setnchannels(1)
f.setsampwidth(4)
f.writeframes(data)
f.close()
r = np.arange(0,1000,.1)
s = np.sin(r)
write_test_float_aiff(s.byteswap().tostring())