The pydub
module uses either ffmpeg
or avconf
programs to do the actual conversion. So you do have to install ffmpeg
to make this work.
But if you don't need pydub
for anything else, you can just use the built-in subprocess
module to call a convertor program like ffmpeg
like this:
import subprocess
subprocess.call(['ffmpeg', '-i', '/input/file.mp3',
'/output/file.wav'])
This requires that the ffmpeg binary is in a location in your $PATH, by the way.
Edit: With ffmeg
, you cannot convert stereo to mono, as far as I know. You can only choose the left or right channel. I'm assuming this is not what you want.
The sox
program can convert stereo to mono:
import subprocess
subprocess.call(['sox', '/input/file.mp3', '-e', 'mu-law',
'-r', '16k', '/output/file.wav', 'remix', '1,2'])
This will sample at 16 kHz, with 8 bits/sample, giving you 16 kb/s.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…