Python 技术篇-音频mp3格式转wav格式,高保真
时间:2022-07-25
本文章向大家介绍Python 技术篇-音频mp3格式转wav格式,高保真,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
从微信下载下来的语音是 mp3 格式的,想调用百度语音 api,发现不支持 mp3,支持 wav。
准备:
需要安装 pydub 库,直接pip install pydub
就好了。
还需要安装 ffmpeg.exe 文件,然后再配置一下就好了,请看:
ffmpeg.exe 的安装及配置,与常见问题
原理:
读取 mp3 音频的波形数据,然后再写入 wav 文件。
from pydub import AudioSegment
import wave
# 读取mp3的波形数据
sound = AudioSegment.from_file("666.mp3", format = 'MP3')
# 将读取的波形数据转化为wav
f = wave.open("777.wav", 'wb')
f.setnchannels(1) # 频道数
f.setsampwidth(2) # 量化位数
f.setframerate(16000) # 取样频率
f.setnframes(len(sound._data)) # 取样点数,波形数据的长度
f.writeframes(sound._data) # 写入波形数据
f.close()
运行效果图: 原 mp3 只有 2k 左右,转化后 31.5k,听着效果跟原音频没有差别,保真度很高!
- spring系列之自定义扩展PropertyPlaceHolderConfigurer
- 并发编程之ReentrantLock
- 【学术】一篇关于机器学习中的稀疏矩阵的介绍
- 浅谈java中extends与implements的区别
- 并发编程之读写锁
- 类数组借用数组方法
- 并发编程之Exchanger
- 老司机养成:教神经网络变身《马里奥赛车》高手 | 论文+代码
- CSS征途之Background点滴
- golang中如何使用http长链接(client端)
- 如何设置添加SSH
- 精妙JS代码段搜集
- Backbone事件模块及其用法
- IOS 8 Safari JIT bug影响jQuery和underscore
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 《大话数据结构》队列的顺序存储和链式存储
- 《大话数据结构》栈的顺序存储及链式存储
- 《大话数据结构》之双向链表
- 《大话数据结构》线性表的链式存储结构
- 《大话数据结构》线性表的顺序存储结构
- 《啊哈算法》桶排序详解
- 你不得不知道的Git常用命令
- Java中静态代码块、代码块以及构造函数执行顺序详解
- 手写一个JDK1.7的简版HashMap
- MySQL存储过程创建与使用
- 一些有意思的JavaScript代码片段
- Flutter 完成全平台制霸:实现 Windows 应用支持
- python包:urllib——使用urllib下载无限制链接图片
- 初探 TensorFlow.js
- 如何使用 Apache Directory Studio 连接 JumpCloud