音频文件格式转换python实现——flac转wav
程序员文章站
2022-05-28 15:24:32
...
在做语音相关工作时,经常会遇到要转换音频文件格式。读取音频格式有很多python库,比如librosa、scipy.io.wavfile、soundfile、pydub等等,但是笔者在实现flac转wav时使用librosa.load死活load不进来flac文件(总是报除数为0的错误),于是探索一种转换文件格式的方法。
搜索发现有个叫做ffmpeg的工具非常强大,接下来讲解使用ffmpeg批量修改文件格式的方法。(windows10环境下)
- 下载ffmpeg,注意下载的是windows版本。
- 解压后,将ffmpeg.exe所在路径加入环境变量path。
- 使用如下代码:
def flac_to_wav(filepath, savedir):
filename = filepath.replace('.flac', '.wav')
savefilename = filename.split('\\')
save_dir = savedir + '\\' + savefilename[-1]
print(save_dir)
cmd = 'ffmpeg.exe -i ' + filepath + ' ' + save_dir
os.system(cmd)
audio_path = r"你的带转换的音频文件路径"
flac_to_wav(audio_path)
# 批量处理
path = r'你的音频文件夹路径'
for root, dirs, files in os.walk(path):
for name in files:
filepath = root + "\\" + name
if filepath.split('.')[-1] == "flac":
flac_to_wav(filepath)
- 如果ffmpeg报错不存在的话,将ffmpeg.exe文件复制到你当前代码的目录下即可。
- 如果要转换其他格式,修改代码第二行即可。