批量将MP3或者m4a转为wav格式

1 准备条件

需要安装ffmpeg,安装教程[https://blog.csdn.net/liupeng19970119/article/details/110433807]

2 python代码

转换后会删除原始文件,如果不需要删除,将cmd_command命令里面del删除再执行

'''
功能:读取指定文件夹下的所有mp3文件,转换为wav文件
用法:修改path路径 filter改为".m4a",就是遍历当前目录下的m4a文件,注释掉35行的cmd_command
转换其它的:最主要是用字符串拼接出cmd_command命令

'''

import os
path=r'D:\Desktop\照片'

filter=[".m4a"] #设置过滤后的文件类型 当然可以设置多个类型

def all_path(dirname):

    result = []#所有的文件

    for maindir, subdir, file_name_list in os.walk(dirname):

        for filename in file_name_list:
            apath = os.path.join(maindir, filename)#合并成一个完整路径
            ext = os.path.splitext(apath)[1]  # 获取文件后缀 [0]获取的是除了文件名以外的内容

            if ext in filter:
                result.append(apath)

    return result

filenames=all_path(path)

for filename in filenames:
    filename=str(filename)
    temp=filename.split('.')

    #将.m4a格式转为wav格式的命令
    cmd_command = "ffmpeg -i {0} -acodec pcm_s16le -ac 1 -ar 16000 -y {1}.wav && del {0}".format(filename,temp[0])
    # 将.mp3格式转为wav格式的命令
    #cmd_command = "ffmpeg -loglevel quiet -y -i {0} -ar 16000 -ac 1 {1}.wav && del {0}".format(filename, temp[0])

    #print(cmd_command)
    os.system(cmd_command)

3 单个转换命令

  • 转MP3为wav
ffmpeg -i input.mp3 -acodec pcm_s16le -ac 2 -ar 44100 output.wav
  • 转m4a为wav
ffmpeg -i input.m4a -acodec pcm_s16le -ac 2 -ar 44100 output.wav
  • wav与PCM的相互转换
ffmpeg -i input.wav -f s16le -ar 44100 -acodec pcm_s16le output.raw
  • PCM转wav
ffmpeg -f s16le -ar 44100 -ac 2 -acodec pcm_s16le -i input.raw output.wav
  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐维康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值