0

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

0 回答 0