音频文件格式转换python实现——flac转wav

本文介绍了一种使用ffmpeg工具批量转换音频文件格式的方法。针对flac文件无法通过某些Python库直接转换的问题,提供了一个简单实用的解决方案,并附上了Windows环境下的具体步骤。

在做语音相关工作时,经常会遇到要转换音频文件格式。读取音频格式有很多python库,比如librosa、scipy.io.wavfile、soundfile、pydub等等,但是笔者在实现flac转wav时使用librosa.load死活load不进来flac文件(总是报除数为0的错误),于是探索一种转换文件格式的方法。
搜索发现有个叫做ffmpeg的工具非常强大,接下来讲解使用ffmpeg批量修改文件格式的方法。(windows10环境下)

  1. 下载ffmpeg,注意下载的是windows版本。
  2. 解压后,将ffmpeg.exe所在路径加入环境变量path。
  3. 使用如下代码:
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"你的带转换的音频文件路径"
savedir = r"新保存路径"
flac_to_wav(audio_path, savedir)
# 批量处理
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, savedir)
  1. 如果ffmpeg报错不存在的话,将ffmpeg.exe文件复制到你当前代码的目录下即可。
  2. 如果要转换其他格式,修改代码第二行即可。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值