欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

音频文件格式转换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环境下)

  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"你的带转换的音频文件路径"
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)
  1. 如果ffmpeg报错不存在的话,将ffmpeg.exe文件复制到你当前代码的目录下即可。
  2. 如果要转换其他格式,修改代码第二行即可。
相关标签: python ffmpeg