使用 Python 做音频处理·总章(持续更新)

语音识别的音频预处理方式总结(持续更新) 语音识别的音频预处理,其步骤大致为读取音频信息,进行特征提取.(以下以mfcc特征预处理为例。) 一、使用python自带的wave模块和matplotlib进行语音信息读取及频谱图的绘制,使用python_speech_features进行mfcc特征的提取。 import matplotlib.pyplot as plt from python_speech_features import m... 阅读详情

待看:
Python音频处理
Python pydub音频处理

1. 常用的工具和库

概述

wave 是Python的标准模块,Python 处理音频数据等常见模块有两个:

  • librosa:擅长音频信号处理,内部用 numpy 存储数据,读写文件依赖 soundfile 模块(不支持mp3)
  • pydub :底层基于 ffmpeg 读写文件,代码简洁,支持切割、格式转换、音量、ID3等常用功能,门槛低。(ffmpeg 是一个极其强大的开源视频处理软件)

使用建议:日常用 pydub 足够应付,更强大的信号处理则需要 librosa,但有一定数学门槛,需要了解信号处理原理,掌握傅立叶变换等基本算法。

wave

wave 是Python的标准模块,Python 音频处理:wave 记录了它的一些简单介绍和源码

pydub

Pydub lets you do stuff to audio in a way that isn’t stupid

pydub 可以让我们处理音频文件,但是Pydub只支持原生的wav格式的文件处理。所以如果你想处理其他格式的音频,或者说你想处理媒体文件中的音频那你需要在你本地安装FFmpeg支持。

其官方文档中记录了很多简单实用的代码样例:API Documentation

pydub 中的 AudioSegment() 是不可改变对象,其中包含了丰富的操作对象,比如音量的增减、音频的合并、读取音频时长、截取音频等操作。注意处理多个音频时,首先确保它们有相同的 通道数、帧率、采样率、比特深等。

下面简单记录了基本所有的用法:

  • AudioSegment(…).from_file(),打开音频并返回一个AudioSegment 实例
  • AudioSegment(…).export(),将 AudioSegment 写入一个文件。
  • AudioSegment.empty(),创建一个空的(时长为0)的 AudioSegment。
  • AudioSegment.silent(),创建一个静音音频片段
  • AudioSegment.from_mono_audiosegments(),融合多个单通道的音频,注意每个单通道音频需要有相同的长度,直到帧计时开始。
  • AudioSegment(…).dBFS,返回以dBFS (db relative to the maximum possible loudness)为度量的声音响度。
  • AudioSegment(…).rms,返回以 rms 为度量的响度
  • AudioSegment(…).channels
  • AudioSegment(…).sample_width
  • AudioSegment(…).frame_rate
  • AudioSegment(…).frame_width
  • AudioSegment(…).max,返回音频中的最大振幅
  • AudioSegment(…).max_dBFS,以 dBFS 返回音频中的最大振幅
  • AudioSegment(…).duration_seconds,返回音频时长,单位是 ms(milliseconds)
  • AudioSegment(…).raw_data,返回原始音频
  • AudioSegment(…).frame_count(),返回帧数
  • AudioSegment(…).append(),合并音频,比如 combined = sound1.append(sound2),默认crossfade=100ms
  • AudioSegment(…).overlay(),用一个音频覆盖在其上,但是多余部分会被切除。(有待深究)
  • AudioSegment(…).apply_gain(gain),改变 am
python 语音处理工具包AudioSegment的基本使用 python 语音处理工具包AudioSegment的基本使用1.AudioSegment库的安装2.AudioSegment库的使用3.后续~ 1.AudioSegment库的安装 参考网址: pydub官方安装教程 参考网址:使用pydub报错RuntimeWarning 参考网址: AudioSegment官方使用手册 2.AudioSegment库的使用 from pydub import AudioSegment 加载语音文件 #可以看到读取文件有很多方式,有直接fr 阅读详情

相关推荐

(Python) Python语音处理工具包AudioSegment的基本使用

5. AudioSegment中mp3转wav文件并转换采样频率fs。1. AudioSegment库的使用。2. 获取音频文件信息。

Hanlin的博客 2976

Python语音转文字、音频切割、语音识别

2音频转文字提取音频之后就要把音频转成文字了,目前市面上有很多方式都可以快速的将视频里的音频内容转成文字科大讯飞、知意等付费平台剪映、Pr等剪辑如案件生成字幕百度云、腾讯云等国内接口GOogle、IBM、Bing等国外接口自己造轮子,语音识别训练自己一边听一边打字虽然说有这么多方法可以去实现这个需求,但任务量增长后,想不花钱,又想不花时间造轮子,最好的办法就是用现成的接口申请百度接口如果想用百度接口来批量处理,需要百度语音API地址:https://cloud.baidu.com/doc/SPEECH/in

hnsgsdsagaaq的博客 1482

Python小工具:3秒钟将视频转换为音频

我在 test 目录下放在两个视频文件,一个是我用手机拍摄的 mp4 格式的视频,为了测试出效果,录了一段语音,另一个视频是 mkv 格式的一部电影。我的代码是在 Mac 系统中完成的,Mac 中路径是用 / 隔开,而 Windows 中是用 \,为了防止收到转义字符的影响,路径前面最好加上 r。我们需要把转换后的音频文件存放在指定的文件夹里,为了更智能,我们做一个判断,如果不存在这个目录,我们就创建,存在的话就保持不变。这时,我们需要下载 FFmpeg,访问下面的地址,根据自身电脑版本下载相应安装包。

2401_84003809的博客 1065

Python小工具:3秒钟将视频转换为音频(1)

我在 test 目录下放在两个视频文件,一个是我用手机拍摄的 mp4 格式的视频,为了测试出效果,录了一段语音,另一个视频是 mkv 格式的一部电影。我们需要把转换后的音频文件存放在指定的文件夹里,为了更智能,我们做一个判断,如果不存在这个目录,我们就创建,存在的话就保持不变。导入刚才安装好的 ffmpy3 库,等下需要读取视频存放的目录和音频存放的目录,所以我们需要导入 os 模块。我们把需要转换为音频的视频文件放在一个文件夹下面,用 os 模块把视频的文件名称读取出来,放在列表中。

2401_84008929的博客 950

Python音频处理库musdb使用指南

音频数据处理是数字信号处理的重要分支,它涉及到音频信号的采集、处理和分析等多个方面。随着Python编程语言在数据科学领域的广泛应用,越来越多的音频处理库被开发出来,以方便研究者和开发者高效地完成音频相关的工作。Python音频处理工具musdb,是一个专门为音频源分离和数据集处理而设计的库。它使得音频的多声道分离变得简单便捷,尤其适用于音乐和语音分析场景。

weixin_29041443的博客 1149

python-soundfile:SoundFile是基于libsndfile,CFFI和NumPy的音频库

python-soundfile 模块是基于libsndfile,CFFI和NumPy的音频库。 完整文档可在。 soundfile模块可以读取和写入声音文件。 是一个免费的,跨平台的开源(LGPL)库,用于读取和写入运行在许多平台(包括Windows,OS X和Unix)上的许多不同的采样声音文件格式,它通过支持文件读取/写入。 它可以通过访问, 是Python调用C代码的外部函数接口。 CPython 2.6 +,3.x和PyPy 2.0+支持CFFI。 soundfile模块将音频数据表示为NumPy数组。 python-soundfile已获得BSD许可(BSD 3-条款许可)。 (c)2013年,巴斯蒂安·贝希特(Bastian Bechtold) 重大变化 soundfile模块在最近的几个发行版中发展Swift。 最值得注意的是,我们从改变了进口名import

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下...

[OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-下 CT Image with Window presets This is an example of displaying a ct image along with buttons to set ww/wc pres...

浩秦的博客 1841

从零开始,用MATLAB/Simulink手把手搭建一个无刷直流电机(BLDC)的控制模型

本文详细介绍了如何使用MATLAB/Simulink从零开始搭建无刷直流电机(BLDC)控制模型。通过可视化建模方法,避开繁琐的数学推导,直接构建三相逆变器、电机本体参数化模型、霍尔传感器与换相逻辑实现,以及速度闭环控制设计。文章还提供了PID控制器整定、抗饱和处理和系统调试的实用技巧,帮助工程师快速掌握BLDC控制系统的仿真与实现。

weixin_27741699的博客 254

Nmap源码分析(端口扫描)

端口扫描是Nmap的核心功能,用于确定目标机的端口状态(开放、关闭、过滤等),也为Nmap的服务与版本扫描、OS扫描、脚本扫描提供基本的指引信息。所以,深入理解端口扫描的实现对分析其他的扫描方式很有帮助。 1简单回顾   首先简要回顾一下端口扫描的原理以及命令行选项。 1.1扫描原理   Nmap提供的10多种类型的端口扫描方法,如TCP SYN/ACK/FIN/Xmas/NULL/ Windows/Connect,FTP Bounce, Idle scan, UDP port u...

墨痕诉清风的博客 1597

基于RK3588边缘计算平台的人数统计系统设计与实现

针对人数统计场景优化的YOLOv5模型完整的模型转换和部署流程高效的嵌入式推理优化方案低成本、低功耗的部署方案实时性强,满足工业应用需求可扩展性好,适配多种应用场景引入注意力机制,提高小目标检测能力结合多模态信息,增强系统鲁棒性开发可视化管理平台,提升用户体验随着边缘计算和AIoT技术的快速发展,基于深度学习的智能视觉系统必将在更多领域发挥重要作用。本项目为相关应用的开发和部署提供了有价值的参考,为推动人工智能技术的产业化应用做出了积极贡献。

LXY_LOVE36的博客 145

自然语言处理6 -- 情感分析

1 概述 情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。 情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法,下面详细讲解 ...

谢杨易的博客 5万+

OpenClaw-遇到的问题- FailoverError: Model context window too small (4096 tokens). Minimum is 16000

摘要:OpenClaw配置文件中deepseek-reasoner模型的上下文窗口被默认设置为4096 tokens(实际支持128K),导致系统报错"Model context window too small"。解决方案是删除配置文件中的contextWindow和maxTokens字段,让系统自动获取模型真实能力,并重启OpenClaw服务。配置文件通常位于用户目录下的.openclaw/openclaw.json中。

直到世界的尽头 4157

太美了!现代女主jk海军风穿搭四视图

哪个女孩子初高中的时候不买几套JK衣服啊,穿上完全是青春女孩。那还愣着干啥,不得也给你的漫剧女主也穿上!直接就是分享三套JK穿搭,红棕双麻花辫配经典水手服,是那种乖乖巧巧的元气学妹;粉色羊毛卷双马尾,搭配蝴蝶结和小挎包甜度直接拉满;还有灰棕色侧麻花辫,浅蓝上衣配黑色百褶裙,温柔里又带点小酷。下面把这三套角色的完整提示词分享出来,喜欢哪套就拿去参考,改改发型和配色,还能继续解锁新角色!

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 51

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 声纹识别:x-vector 的特征提取原理
下一篇: 关闭Mac的Microsoft AutoUpdate弹框提示
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值