Python利用pydub实现wav转mp3

最近,需要大量地将wav转mp3,于是用python写了个小脚本直接一键转换,这里做个记录。

环境

  • windows 10
  • ffmpeg
  • python3
  • pydub

前期准备

环境搭建

首先安装ffmpeg,参考大佬的博客

然后在命令行运行命令安装pydub:

pip install pydub

然后准备一个文件夹,里面是待转换的wav文件:


待转换的wav文件

程序编写

程序想要实现的功能是遍历文件夹内的wav文件路径,然后依次将wav文件转为mp3文件输出。

首先,编写转换函数:

from pydub import AudioSegment
def wav2mp3(filepath, savepath):
    sourcefile = AudioSegment.from_wav(filepath)
    filename = filepath.split('/')[-1].split('.wav')[0].replace(' ', '_') + '.mp3'
    print(filename)
    sourcefile.export(savepath + filename, format="mp3")

这里的filename注意需要加上.mp3后缀

然后书写函数获取wav文件路径,保存为列表输出:

def getFileName(filepath):
    file_list = []
    for root,dirs,files in os.walk(filepath):
        for filespath in files:
            if 'wav' in filespath.split('.')[-1]:
                file_list.append(os.path.join(root,filespath))
    return file_list

最后书写main函数遍历路径并转换:

if __name__ == '__main__':
    folder = 'D:/yuanshen/emmmm/'
    savepath = 'D:/yuanshen/emmm1/'
    wav_list = getFileName(folder)
    for item in wav_list:
        wav2mp3(item, savepath)

至此,程序编写完毕

程序运行

在命令行输入命令运行脚本:

python wav2mp3.py

然后就能看到程序开始转换:


程序运行截图

程序运行结果:


程序运行结果

你可能感兴趣的:(Python利用pydub实现wav转mp3)