首页/新闻资讯/正文详情

将目录下MP3文件批量转换成WAVE文件:mp32wave

发布时间:2026/9/27 19:34:26 来源:云帆数科 栏目:资讯中心
将目录下MP3文件批量转换成WAVE文件:mp32wave
转换MP3文件到WAVE文件01【MP3转换成WAV文件】一、转换原理不知道为什么现在我的电脑中直接用一个应用程序打开mp3文件有问题 所以下面我们需要将已经下载录制好的MP3音乐文件转换成WAV文件。 这个呢需要批量将一个目录下多个子目录下的MP3文件进行转换 查看了很多网上给出的转换方式 需要安装一些特殊的Python包不太方便。 下面我们介绍一下自己经过测试使用两种软件包进行转换的方法。首先使用Sound file软件包来读取MP3文件 它可以将MP3文件对应的数据读入内存 它读入的数据为浮点数 接下来使用 sYsPy IO wav file将数据存成WAV文件。 这个呢需要对读入的数据进行转换 将浮点数转换成整形数 下面我们看一下具体的转换过程 将转换过程封装为一个函数 首先根据输入的文件名称 将它的后缀转换成wave文件后缀 接下来判断该文件是否已经存在 如果存在就直接跳过转换。 首先使用sound file读取MP3文件 可以获得对应的数据和采样率参数 接下来判断数据的格式 如果是双通道数据 则提取每个通道数据的最大值 然后再获得整个数据的最大值 这个很重要在后面进行数据格式转换时 需要使用这个最大值。 如果是单通道就很简单 直接获得声音数据的最大值即可接下来我们看一下转换过程 转化过程很简单 首先将输入的数据进行规划 也就是除以整个数据文件的最大值 然后再乘以0.95注意这个乘以0.95是防止转换整型数数据溢出 接下来乘以最大的整数。 强制输出类型为有符号16位 最后将数据写入Web文件。 然后再根据输入参数是否为大于0的数字 判断是否将原来的MP3文件进行删除 这就是整个的转换过程 因为这个文件是用于技术日记转换成视频文档 所以对于背景音乐要求不高 所以使用了整型16位的WAV文件。下面是对应用文件所在目录进行扫描 对于扫描中所得到的MP3文件进行转换 转换成一个时间为20分钟的MP3大概需要3至5秒。 整个转换过程消耗了大约三个小时 转换了500多个音乐文件。 当然最终的后果是转化完外部文件时 整个的文件数据量增加了很多。 但是还好将原来音乐文件转换成外文文件之后我们所使用的播放软件就可以正常打开了。二、程序#!/usr/local/bin/python# -*- coding: gbk -*-## MP32WAVE.PY -- by Dr. ZhuoQing 2026-09-26## Note:#fromheadmimport*importsoundfileassffromscipy.ioimportwavfile#------------------------------------------------------------defmp32wave(infile:str,removeflag0):outfileinfile.split(.)[0].wavifos.path.isfile(outfile):ifremoveflag0:os.remove(infile)returnsig,sample_ratesf.read(infile)sigshapeshape(sig)iflen(shape(sig))2:sigmax0max(sig[:,0])sigmax1max(sig[:,1])sigmaxmax([sigmax0,sigmax1])else:sigmaxmax(sig)sig(sig*(0x7fff/sigmax*0.95)).astype(int16)wavfile.write(outfile,sample_rate,sig)ifremoveflag0:os.remove(infile)#------------------------------------------------------------dirdim[Song,2025,2026,Class,BGM,Pop,Science,TMP,Used,Voice]fordindirdim:dirsrd:\Mooc\Music\\MusicdifdVoice:dirsrd:\Mooc\\d printf(dirs)fdimos.listdir(dirs)# printf(fdim)forfinfdim:iff.upper().find(.MP3)0:continueinfileos.path.join(dirs,f)outfileinfile.split(.)[0].wavifos.path.isfile(outfile):continueprintf(infile)mp32wave(infile,0)# break#------------------------------------------------------------printf(\a)#------------------------------------------------------------# END OF FILE : MP32WAVE.PY#

相关推荐

OpenClaw 多 Agent + 双钉钉机器人 SOP:单网关配置与验证
OpenClaw 多 Agent + 双钉钉机器人 SOP:单网关配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 19:34:20

域名与网站建设全流程拆解,到底要花多少钱
域名与网站建设全流程拆解,到底要花多少钱

域名与网站建设全流程拆解,到底要花多少钱 网站上线三个月,后台流量只有个位数,每天看着那些零散的IP访问记录,心里比吃苍蝇还难受。这种“网站做好了没人访问”的绝望感,很多做项目经理的朋友都懂。大家往往在前期纠结域名注册要多少钱,服务器配置选… · 2026/9/27 19:34:20

在 VSCode 与 Cursor 中引入 .prettierrc 格式化:TaoToken 统一 Key 配置骨架
在 VSCode 与 Cursor 中引入 .prettierrc 格式化:TaoToken 统一 Key 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 19:34:20

从 Coding Agent 到 Computer Use:TaoToken 视角下 AI 工作智能体的三个发展阶段
从 Coding Agent 到 Computer Use:TaoToken 视角下 AI 工作智能体的三个发展阶段

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:14:58

实时 AI Agent Harness Engineering 实战:用 TaoToken 统一 Key 打通低延迟响应链路
实时 AI Agent Harness Engineering 实战:用 TaoToken 统一 Key 打通低延迟响应链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:14:58

谁在调用?——从 IDE 到 TaoToken:AI 编程的放大器只对开发者生效
谁在调用?——从 IDE 到 TaoToken:AI 编程的放大器只对开发者生效

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:14:52

Canal 的 ACK 机制是如何工作的?客户端消费成功后如何通知 Server?
Canal 的 ACK 机制是如何工作的?客户端消费成功后如何通知 Server?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:14:52

5步搞定海报模板免费网站部署与防黑
5步搞定海报模板免费网站部署与防黑

5步搞定海报模板免费网站部署与防黑 网站被黑挂马,后台全是乱码弹窗?别慌。 这不是玄学,是配置漏洞。 今天一文搞懂,如何安全搭建海报模板免费网站。 概念速懂:不只是下载图片 很多站长以为做个“海报模板免费网站”就是搞个网盘链接列表。… · 2026/9/27 20:14:52

vibecoding日记:用 CC Switch 给 Claude Code 配 TaoToken 的 settings.json 骨架
vibecoding日记:用 CC Switch 给 Claude Code 配 TaoToken 的 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 20:14:46

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码