该pydub
模块使用ffmpeg
或avconf
程序进行实际转换。因此,您必须进行安装ffmpeg
才能使其正常工作。
但是,如果您不需要pydub
其他任何东西,则可以使用内置subprocess
模块来调用转换器程序,ffmpeg
如下所示:
import subprocess
subprocess.call(['ffmpeg', '-i', '/input/file.mp3',
'/output/file.wav'])
顺便说一下,这要求ffmpeg二进制文件位于$ PATH中的某个位置。
:用ffmeg
,据我所知,您不能将立体声转换为单声道。您只能 选择 左或右声道。我假设这不是您想要的。
该sox
程序 可以 将立体声转换为单声道:
import subprocess
subprocess.call(['sox', '/input/file.mp3', '-e', 'mu-law',
'-r', '16k', '/output/file.wav', 'remix', '1,2'])
这将以16 kHz的速率进行采样,采样率为8位,从而为您提供16 kb / s。