最近收到一个朋友委托的需求,要将MP3的音频格式转换成wav的音频格式。于是,使用python写了这个小工具便于批量进行转换操作。

【阅读全文】

首先,下载需要导入的python模块包。这里选用清华大学的镜像站进行模块的下载。

pip install ffmpy -i https://pypi.tuna.tsinghua.edu.cn/simple/

然后,导入需要依赖的python模块。

from ffmpy import FFmpeg as mpy # 音频格式转换对象import os #  文件系统操作对象

将所有的MP3音频文件都放入到统一的文件夹下面,这样在批量读取的时候只需要读取一个文件夹中的MP3文件,然后进行遍历。

编写函数来读取MP3音频文件所在的文件路径下的所有音频文件。

def read_folder(mp3_folder, wav_folder):'''文件夹读取函数:param mp3_folder::param wav_folder::return:'''# 遍历需要转换的MP3文件夹中的MP3文件for a in os.listdir(mp3_folder):# 创建MP3文件的绝对路径mp3_file = os.path.join(mp3_folder, a)# 调用格式转换函数trans_to_wav(mp3_file, wav_folder)

编写trans_to_wav函数,其中用到的主要是FFmpeg音频处理对象以及使用run函数执行转转。其余的主要文件格式的切片处理函数,os模块的函数用的居多。

def trans_to_wav(mp3_file, wav_folder):'''格式转换格式:param mp3_file::param wav_folder::return:'''# 格式化文件file_fmt = os.path.basename(mp3_file).strip()# 获取文件格式file_fmt = file_fmt.split('.')[-1]# 校验文件格式if file_fmt.strip() != 'mp3':raise Exception('改文件不是MP3格式,请检查!')elif file_fmt.strip() == '':raise Exception('文件格式出现异常,请检查!')# 创建wav的文件以供转换完成后输出wav_file_path = os.path.join(wav_folder)wav_file_path = os.path.join(wav_file_path, '{}.{}'.format(os.path.basename(mp3_file).strip().split('.')[0], 'wav'))# 创建转换时的命令行参数字符串cmder = '-f wav -ac 1 -ar 16000'# 创建转换器对象mpy_obj = mpy(inputs={mp3_file: None},outputs={wav_file_path: cmder})print('执行CMDER 命令:{}'.format(mpy_obj.cmd))# 执行转换mpy_obj.run()

最后,通过main函数调起整个应用执行,再加上一些文件夹存在与否的校验就大功告成了。

if __name__ == '__main__':'''主函数入口'''# 输入MP3文件夹mp3_folder = input('输入MP3文件夹路径:\n')# 校验MP3文件夹是否存在if mp3_folder.strip() == '':raise Exception('输入空值,请检查!')elif mp3_folder.strip() != '':if os.path.exists(mp3_folder) is False:raise Exception('文件路径不存在')# 输入wav文件夹路径wav_folder = input('输入wav文件夹路径:\n')# 校验wav文件夹是否存在if wav_folder.strip() == '':raise Exception('输入空值,请检查!')elif wav_folder.strip() != '':if os.path.exists(wav_folder) is False:raise Exception('文件路径不存在')# 调用文件夹读取批量文件read_folder(mp3_folder, wav_folder)

我是这样是实现的,不知道有没有更好的处理方式,欢迎各位大佬在评论区提出建议或意见。

【往期精彩】

不用H5,直接使用pywebio模块实现网页

python回调函数能做什么?

解决pyinstaller打包过程中外部资源无法加载的问题 ...

pyqt5做了一个二维码生成器,已打包成exe可执行程序...

如何在控制台实现一个数据管理系统(包括MYSQL数据库的增删改查)

小工具批量将mp3音频格式转换为wav格式相关推荐

  1. 如何将计算机声音改成音乐,win7系统把MP3音频转换成WAV格式的图文教程

    新购买的电脑安装 win7系统 ,开机时觉得系统默认的开机声音一点都不好听,想换开关机声音,但是在网上下载好的MP3音频格式不符合要求,要转换成wav格式,这时候该怎么转换呢?大家可通过搜狗播放器进行 ...

  2. 下载的mp3音频怎么转换wav格式

    现在生活节奏比较快,所以大家一般都是下载的MP3格式的音频,然后可以在上下班路上听一听,放松一下心情,那么如果想把MP3格式转换为wav格式怎么办呢?郭德纲于谦相声全集mp3怎么转换wav格式?请看下 ...

  3. m4s格式转换mp3_下载的mp3音频怎么转换wav格式

    现在生活节奏比较快,所以大家一般都是下载的MP3格式的音频,然后可以在上下班路上听一听,放松一下心情,那么如果想把MP3格式转换为wav格式怎么办呢?郭德纲于谦相声全集mp3怎么转换wav格式?请看下 ...

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

    1 准备条件 需要安装ffmpeg,安装教程:[https://blog.csdn.net/liupeng19970119/article/details/110433807] 2 python代码 ...

  5. python 将MP3格式转换为WAV格式(ffmpeg安装,使用pycharm安装包)

    首先,安装pydub,pydub是python的一个音频处理库处理,能对wav格式的音频直接进行处理. 如果要进行其他格式的处理就要安装ffmpeg. 所以这里安装pydub和ffmpeg. 一:安装 ...

  6. 如何将PCM转换为WAV格式?

    许多大多数媒体播放器和便携式设备不支持PCM文件,它们兼容的音频格式为MP3,WAV等.那么如何才能将PCM格式转换为WAV格式呢?这里为大家介绍一款名为AnyMP4 Video Converter ...

  7. 批量卸载软件脚本python_Python练习小工具——批量删除同名电子书保留指定格式...

    本帖最后由 似水流年2015 于 2020-9-2 23:41 编辑 小书库清理走起,陆陆续续存了上百G的电子书,很多电子书同一本却有4种格式,epub,mobi,azw3, pdf,多浪费硬盘啊,寻 ...

  8. 批量将.flac格式转换为.wav等格式

    在声纹识别的研究中,不同数据集包含不同的音频格式(.flac/ .wav/ ...),但个别情况下,我们有想使用统一的格式来处理,因此就需要批量转换了. 这里需要使用ffmpeg进行格式转换,因此需要 ...

  9. 免费音频转换mp3格式,wav格式一次搞定 QT播放音频

    1.之前使用的是QMediaPlayer,播放MP3文件,项目的需求是在特定的流程中播放音频提示,延时不能超过1秒.实际的效果是,执行了下面代码之后,还需要等几秒钟才能听到提示音,这显然和希望的结果不 ...

最新文章

  1. csdn文章保存到本地pdf
  2. 计算机三级网络技术题库第15套,计算机等级考试理论试题第二十五套
  3. Android的Intent和IntentFilter应用说明一例
  4. php获取特殊标签,thinkphp特殊标签使用
  5. LeetCode 1030. 距离顺序排列矩阵单元格(排序Lambda表达式BFS)
  6. c语言 段错误 linux
  7. matlab ga工具箱编程,遗传算法 -- matlab ga工具箱
  8. 三菱plc控制步进电机实例_电工想做PLC工程师?那步进电机的编程控制指令你一定要了解...
  9. C# 如何提取PDF文本和图片
  10. 安恒2020-四月春季战-reverse-sm
  11. javaweb项目实现连续3次输错密码后禁止登录
  12. 【GPRS IP地址】GPRS IP地址的问题
  13. 在天翼网关2.0上如何使用自己的路由器
  14. 华为设备AP管理命令
  15. 计算机基础---学习笔记
  16. InnoSetup程序开机自启
  17. 2020蓝桥杯C-B组模拟赛—有趣的数字
  18. python爬取学校题库_利用Python轻松爬取网页题库答案!教孩子不怕尴尬了!
  19. Ubuntu安装后要做的事
  20. LiteOS学习笔记-1LiteOS内核

热门文章

  1. 蓝牙协议(1)-- 基本协议
  2. 在2012年10月31号这一天,2345浏览器的V2.2版本,大跳着出来了!
  3. 台式电脑组装流程。(软硬兼备)
  4. mysql自增获取id
  5. “石头和爸爸” —— 陈颍系列绘画故事
  6. 【Python从入门到实战100天】06. 函数和模块的使用(保姆级图文+实现代码)
  7. 让搜索无处不在,这一次百度来到了智能手表上
  8. KT Connnect 轻量级云原生测试环境治理工具
  9. 你丢失的数据迷你兔来恢复
  10. C#获取时间戳(Unix时间戳)