【python】基于librosa库提取音频特征

一、源码

import librosa
audio_path = './audio.mp3'
audio, sr = librosa.load(audio_path)
# 提取音频信号的时域特征
amplitude = librosa.amplitude_to_db(librosa.stft(audio), ref=np.max)
# 提取音频信号的频域特征
mfccs = librosa.feature.mfcc(audio, sr=sr)
# 提取音频信号的节奏特征
tempo, beat_frames = librosa.beat.beat_track(audio, sr=sr)

二、介绍

1、librosa.amplitude_to_db

librosa.amplitude_to_db是一个音频处理库librosa中的一个函数,用于将音频信号的幅度转换为分贝(dB)单位的值。在音频处理中,分贝是一种常用的单位,用于表示信号的相对强度。

该函数的输入参数是音频信号的幅度值,可以是单个值或者一个数组。它会将输入的幅度值转换为分贝单位,并返回相应的结果。

该函数的转换公式如下:
dB = 20 * log10(amplitude / ref)

其中,amplitude是输入的幅度值,ref是参考值,默认为1。通过这个公式,函数将输入的幅度值转换为相对于参考值的分贝值。

使用librosa.amplitude_to_db函数可以帮助我们在音频处理中更好地理解和分析音频信号的强度。例如,可以将音频信号转换为分贝单位后,可以更直观地比较不同音频片段的相对强度,或者进行音频特征提取等操作。

2、librosa.feature.mfcc

librosa.feature.mfcc是一个音频特征提取函数,用于计算音频信号的梅尔频率倒谱系数(MFCC)。MFCC是一种常用的音频特征表示方法,广泛应用于语音识别、音乐信息检索等领域。

MFCC的计算过程主要包括以下几个步骤:
1. 预加重:对音频信号进行预处理,通过高通滤波器强调高频部分,减小低频部分的能量损失。
2. 分帧:将音频信号分成短时帧,通常每帧持续时间为20-40毫秒。
3. 加窗:对每一帧的信号应用窗函数,常用的窗函数有汉明窗、哈宁窗等。
4. 傅里叶变换:对每一帧的信号进行快速傅里叶变换(FFT),将时域信号转换为频域信号。
5. 梅尔滤波器组:将频域信号通过一组梅尔滤波器进行滤波,得到每个滤波器通道的能量。
6. 对数压缩:对每个滤波器通道的能量取对数,得到对数能量谱。
7. 离散余弦变换:对对数能量谱进行离散余弦变换(DCT),得到MFCC系数。

librosa.feature.mfcc函数的输入参数包括音频信号和采样率,可以选择是否进行对数压缩、是否加入能量项等。输出结果是一个矩阵,每一行表示一帧音频的MFCC系数。

3、librosa.beat.beat_track

librosa.beat.beat_track是一个音频处理库librosa中的函数,用于从音频信号中提取节奏信息。它可以自动检测音频中的节拍,并返回每个节拍的时间位置。

三、总结

librosa库还是有点好玩的东西。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频号小店好做吗?普通人没有货源,也可以做吗?

大家好,我是电商糖果 视频号小店作为2022年才出来的电商黑马项目,吸引了不少正在找创业项目的朋友。 这里面也有很多没有接触过电商,没有货源的普通人。 于是不少朋友就问糖果,如果普通人没有货源可以做吗?小店好做…

JCYZ H3CNE-RS+

JCYZ H3CNE-RS 20240413 20240413 https://www.h3c.com/cn/ 支持–软件下载–其他产品–模拟器官方下载 人才研学中心—技术认证—电子资料 按范围划分:局域网 城域网 广域网 按拓扑结构划分:总线型 环型 星型 树型 全网状 部分网状(优缺点&a…

简单好用的SaaS知识库工具都在这了,看完赶紧收藏!

在信息飞速发展的今天,企业如何有效地管理海量的信息和知识成为了提高工作效率的关键。SaaS知识库工具正成为企业寻求的解决方案,它们不仅能够帮助团队组织文档,而且优化知识分享流程。现在就让我们来看看市场上几款简单又好用的SaaS知识库工…

佛山分公司迎来重要指导蒋书记一行及杭州区域分公司领导共襄盛举

近日,佛山分公司迎来了一场重要的指导活动。蒋书记携夫人,以及助理黄显文和公司工作人员施晓燕等一行领导莅临佛山分公司,为公司的未来发展提供了宝贵的指导意见。同时,江浙福地区的杭州区域分公司负责人白棋元总和朱建江总也亲临…

宝藏免费音乐软件LX music

欢迎来到我的博客,代码的世界里,每一行都是一个故事 宝藏免费音乐软件LX music 前言LX Music的特色功能:音乐播放的新境界安装与配置:在不同平台上使用LX Music下载页面 主题定制 本文将深入研究LX Music,一款备受欢迎…

socat神器解密:网络数据传输的利器

欢迎来到我的博客,代码的世界里,每一行都是一个故事 socat神器解密:网络数据传输的利器 前言socat简介基本用法常见功能常见功能:1. 端口转发和数据重定向:2. 加密和解密数据流: 高级功能1. 代理服务器和隧…

力扣 | 160. 相交链表

import ListNodeInfo.ListNode;import java.util.HashSet; import java.util.Set;public class Problem_160_IntersectionOfTwoLinkedList {//双指针方法 public ListNode getIntersectionListNode(ListNode headA, ListNode headB){if(headA null || headB null) return nul…

MemberPress配置和使用会员登录页面

目录 隐藏 创建会员登录页面 编辑登录页面 设计您的登录页面 链接到您的登录页面 创建会员登录页面 要创建MemberPress会员登录页面,您需要做的就是导航到 MemberPress > 设置 > 页面选项卡,然后在页面顶部附近的“MemberPress 登录页面”…

【VUE】使用Vue和CSS动画创建滚动列表

使用Vue和CSS动画创建滚动列表 在这篇文章中,我们将探讨如何使用Vue.js和CSS动画创建一个动态且视觉上吸引人的滚动列表。这个列表将自动滚动显示项目,类似于轮播图的方式,非常适合用于仪表盘、排行榜或任何需要在有限空间内展示项目列表的应…

【Python使用】python高级进阶知识md总结第8篇:TCP 网络应用程序开发流程,1. TCP 网络应用程序开发流程的介绍【附代码文档】

python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件。ls命令选项,mkdir和rm命令选项。压缩和解压缩命令,文件权限命令。编辑器 vim,软件安装。获取进程编号…

docker安装es和kibana

1.创建网络 docker network create es-net 2.下载镜像 docker pull elasticsearch:7.12.1 docker pull kibana:7.12.1 docker pull mobz/elasticsearch-head:5 3.运行容器 docker run -d \ --restartalways --name es7 \ -e "ES_JAVA_OPTS-Xms512m -Xmx512m" …

B站大数据平台元数据业务分享

背景介绍 元数据是数据平台的衍生数据,比如调度任务信息,离线hive表,实时topic,字段信息,存储信息,质量信息,热度信息等。在数据平台建设初期,这类数据主要散落于各种平台子系统的数…

Ubuntu22.04安装Opencv + opencv_contrib(v4.9.0)

需下载两个文件: opencv-4.9.0.tar.gzopencv_contrib-4.9.0.tar.gz 将上述文件上传到如下目录 rootf5b3d2a6bf04:/opencv# pwd /opencv rootf5b3d2a6bf04:/opencv# ll total 149036 drwxrwxr-x 2 1000 1000 4096 Apr 8 10:07 ./ drwxr-xr-x 1 root root …

【智能算法应用】哈里斯鹰算法(HHO)在WSN覆盖中的应用

目录 1.算法原理2.数学模型3.结果展示4.参考文献 1.算法原理 【智能算法】哈里斯鹰算法(HHO)原理及实现 【智能算法应用】猎人猎物优化算法(HPO)在WSN覆盖中的应用 2.数学模型 3.结果展示 HPO设置区域边长为20,节点数为35&…

redis的三种工作模式

Redis 简介 Redis(Remote Dictionary Server)是一个开源的高性能键值对(key-value)存储系统。它支持多种数据结构,如字符串、列表、集合、有序集合和哈希,并且提供了丰富的功能,包括数据持久化…

C语言 08 类型转换

一种类型的数据转换为另一种类型的数据&#xff0c;这种操作称为类型转换。 类型转换分为自动类型转换和强制类型转换。 自动类型转换 比如现在希望将一个 short 类型的数据转换为 int 类型的数据&#xff1a; #include <stdio.h>int main(){short s 10;// 直接将s的…

2024洗地机名牌排行榜:细数最值得买的4大热门款

传统的清洁地面方式往往费时费力&#xff0c;容易导致腰酸背痛等不适&#xff0c;给人们带来一系列家务问题。然而&#xff0c;随着洗地机、扫地机器人、吸尘器等电动清洁工具的出现&#xff0c;清洁变得更加轻松便捷&#xff0c;受到了广大用户的欢迎。身为一名有着多年家居经…

Javaweb过滤器(Filter)

一、概念 Filter表示过滤器&#xff0c;是Javaweb三大组件&#xff08;Servlet、Filter、Listener&#xff09;之一。 过滤器可以把对资源的请求拦截下来&#xff0c;从而实现一些特殊的功能。 过滤器一般完成一些通用的操作&#xff0c;比如权限控制、统一编码处理、敏感字符处…

js performance统计页面耗时

js统计页面耗时 setTimeout(() > {let t window.performance.timing;let performanceInfo [{key: "Redirect",desc: "网页重定向的耗时","value(ms)": t.redirectEnd - t.redirectStart},{key: "AppCache",desc: "检查本地缓…

一款基于AB32VG1的桌面智能坞小工具

项目简介&#xff1a; 我基于这个开发板制作了一款桌面小工具&#xff0c;它是一个小巧、功能丰富、具有实用价值的桌面物联网“控制中枢”。可以实现&#xff1a; 精灵播放音乐时内部有一颗呼吸灯的效果&#xff1b; 精灵可以通过OLED显示当前音乐名字、播放状态&#xff1b;…