Python 如何以无头PCM格式写入文件?

Python 如何以无头PCM格式写入文件?,python,audio,pcm,Python,Audio,Pcm,如何以无头PCM格式写入文件?源数据位于numpy数组中,我有一个应用程序希望数据位于无头PCM文件中,但我找不到任何文件格式的文档?它与wave文件中的数据块基本相同吗?问题是没有一种“无头PCM”格式。例如,8位单声道22K和little endian 16位立体声48K都是PCM的完美示例,“无头”的全部要点是,您需要通过一些带外通道了解这些信息 但是,假设您有预期的格式,它就和听起来一样简单 for sample in samples: for channel in channe

如何以无头PCM格式写入文件?源数据位于numpy数组中,我有一个应用程序希望数据位于无头PCM文件中,但我找不到任何文件格式的文档?它与wave文件中的数据块基本相同吗?

问题是没有一种“无头PCM”格式。例如,8位单声道22K和little endian 16位立体声48K都是PCM的完美示例,“无头”的全部要点是,您需要通过一些带外通道了解这些信息

但是,假设您有预期的格式,它就和听起来一样简单

for sample in samples:
    for channel in channels:
        f.write(the_bytes_in_the_right_endianness)
如果您已经获得了该格式的数据,只需将其作为一个大数据块写入文件

WAV文件的“默认”编解码器,也是Python的
wave
模块唯一支持的编解码器是PCM。所以,是的,如果你有一个与你想要的格式相同的WAV文件,你可以把它的原始帧数据复制到一个无头文件中,你就得到了一个无头PCM文件。(如果您有格式错误的
wav
,通常可以使用简单的转换,或者最坏的情况下使用
audioop
中的某些内容来转换。)