无法在Python中编写浮点aiff文件

时间:2017-12-29 17:26:49

标签: python numpy floating-point aiff

我是一名音频开发人员,他希望从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())  

0 个答案:

没有答案