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

2024-05-21 09:06:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个音频开发人员,想读写32位浮点音频文件从python测试的目的。经过几个小时的放屁,我终于意识到我遇到的问题仅限于浮点格式。我可以从numpy数组成功地编写16位定点文件(尽管aifc文档中没有示例)。你知道吗

我还看到了其他一些库PySoundFile和Audiolab,尽管它们要么非常旧,要么安装不正确。你知道吗

在python中实现这一点的正确方法是什么?在用python编写声音文件这一主题上,google的搜索结果少得令人震惊。你知道吗

下面的代码不起作用,但基于非常相似的代码,对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())  

Tags: 代码test目的data开发人员npfloat音频