我正在尝试对Python中的一个文件进行声音分析,我有一个来自一个高清晰度的声音文件,它非常大(2.39gb)。但是,每当我试图使用wave模块打开它时,都会出现以下错误:
wave.Error: unknown format: 65534
我通过将.ts文件转换为.wav文件得到了这个文件。我在标准清晰度节目中使用了同样的方法,效果很好。我可以用
^{pr2}$然而,这并不能得到准确的结果,因为它认为音频剪辑只有一个小时长,却有3个小时长。任何帮助将不胜感激,我有类似的问题与不同的错误代码,但这些没有太大的帮助这个问题。非常感谢你!在
免责声明:我对python不是很了解。在
我在谷歌上搜索波浪.py找到了以下链接:http://www.opensource.apple.com/source/python/python-3/python/Lib/wave.py
如果您查找名为
_read_fmt_chunk
的函数,您将看到错误消息的来源。简而言之,wave模块只支持wave_-FORMAT_-PCM。格式65534
是由Microsoft定义的名为WAVE_FORMAT_EXTENSIBLE
的格式,用于多通道波形文件。这很少见。在我想你有几个选择:
WAVE_FORMAT_EXTENSIBLE
的文件wave.py
的源代码以支持WAVE_FORMAT_EXTENSIBLE
-假设SubFormat
字段是PCM或IEEE浮点数,这不是什么大问题。从这个角度来看,它只是增加了标题的大小。如果它是另一个SubFormat
,那么您甚至需要在进入PCM之前运行一个适当的解码器。在WAVE_FORMAT_EXTENSIBLE
.wav文件转换为其他文件。sox
可能能够处理这个问题。在关于你问题的第二部分。从你的问题中不清楚你是如何确定文件的持续时间的。但是如果你对频道的数量做了不正确的假设,那可能会让你失望。在
相关问题 更多 >
编程相关推荐