我试图将数据追加到声音文件中,而不加载其内容(因为它可能有数千兆字节的数据),目前我正在使用pysoundfile库,我已经找出了一种在wave64中实现此操作的方法,但是在wav中,由于某种原因它会抛出一个错误。
根据pysoundfile文档,在使用文件描述符打开SoundFile时,它应该写入而不截断,所以这就是我目前正在做的。
fd = open('foo.wav',mode='ab')
with sf.SoundFile(fd, mode = 'w', samplerate = self._samplerate,channels = self._channels, format = 'wav') as wfile:
wfile.seek(0,sf.SEEK_END)
wfile.write(self._samples)
wfile.close()
fd.close()
我使用"wave"文件类型时出现以下错误:
RuntimeError: Error opening <_io.BufferedWriter name='../datasets/emddf_clean/qcoisa.wav'>: Unspecified internal error.
但是使用w64格式的文件就可以解决问题了... 如果有人能够给我指点一下,那就太棒了, 提前感谢!