<分区>
我想在 Python 脚本中使用 SOX 等工具将 .pcm 文件转换为 .wav 文件。该工具需要跨平台兼容(Windows 和 Linux)。有什么建议吗?
<分区>
我想在 Python 脚本中使用 SOX 等工具将 .pcm 文件转换为 .wav 文件。该工具需要跨平台兼容(Windows 和 Linux)。有什么建议吗?
最佳答案
您实际上不需要工具。 Python 标准库附带 wave
用于编写 .wav 文件的模块,当然还有原始的 .pcm 文件可以作为普通二进制文件打开,如果您需要进行任何简单的转换,这些转换对于列表理解来说并不微不足道,它们对于 audioop
是微不足道的| .
例如,这是一个将立体声 16 位小端 44.1k PCM 文件转换为 WAV 文件的完整程序:
import sys
import wave
for arg in sys.argv[1:]:
with open(arg, 'rb') as pcmfile:
pcmdata = pcmfile.read()
with wave.open(arg+'.wav', 'wb') as wavfile:
wavfile.setparams((2, 2, 44100, 0, 'NONE', 'NONE'))
wavfile.writeframes(pcmdata)
在旧版本的 Python 中,您可能必须使用 with contextlib.closing(wave.open(…))
(或显式的 open
和 close
而不是 with
语句)。
关于python - 如何将 .pcm 文件转换为 .wav 文件(脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111038/