python音频特征提取_音频特征提取——librosa工具包使用

作者:桂。

时间:2017-05-06  11:20:47

前言

本文主要记录librosa工具包的使用,librosa在音频、乐音信号的分析中经常用到,是python的一个工具包,这里主要记录它的相关内容以及安装步骤,用的是python3.5以及win8.1环境。

一、MIR简介

音乐信息检索(Music information retrieval,MIR)主要翻译自wikipedia.

MIR是从音乐中检索信息的跨学科科学,该领域需要心理学、乐理学、信号处理、机器学习等学科的背景知识。

目前MIR的商业应用主要包括:

推荐系统

目前音乐推荐的应用很多,但很少是基于MIR技术实现的,现在主流技术是通过人工标记或者用户的评论以及收听历史等简介数据进行分类判断,进而实现推荐,但事实上不同音乐本身的相似性是很多的

轨道分离及乐器识别

实现音乐的轨道分离,以及从音乐中识别出是何种乐器在演奏

自动录音

根据音乐自动转换成MIDI文件或者乐谱

音乐分类

根据音乐的产地、艺术家身份、音乐节奏等特征,借助机器学习方法进行音乐分类

自动生成音乐

利用数据库训练模式,让机器自主创造音乐

MIR领域涉及到的知识包括:

语料库:没有音乐库,利用机器学习挖掘历史出统计规律,是不够现实的

特征提取:例如常见的MFCC,是音色的一种度量,另外和弦、和声、节奏等音乐的特性,都需要合适的特征来进行表征

统计学习方法以及机器学习的相关知识

MIR用到的相关工具包可以参考isMIR主页。

二、Librosa功能简介

librosa对于MIR来讲就是特征提取的工具,当然一般音频分析也可以借用librosa。

A-主要功能

更多细节可以参考其主页。

音频处理

load:读取文件,可以是wav、mp3等格式;resample:重采样;get_duration:计算音频时长;autocorrelate:自相关函数;zero crossings:过零率;

频谱特性

stft:短时傅里叶变换;istft:逆短时傅里叶变换;ifgram:瞬时频率;cqt:音乐中常用的CQT算法(constant-Q transform);hybrid cqt:混合CQT变换;fmt:快速梅林变换;interp harmonics:主要计算时频信号中谐波的能量;salience:谐波显示功能;phase vocoder:相位声码;magphase:相位幅值

幅度

就是一些数值不同度量的转化。

时频转化

这个比较直观,就不啰嗦了。

Pitch and tuning(音调和曲调?清楚的麻烦说一下二者具体区别)

Dynamic Time Warping

就是DWT,动态时间规整。

以上只是一部分,其他的功能还有很多:

例如常用的MFCC提取就是Feature extraction中的一个函数而已。

B-常用功能

比如读取一个音频信号:

import librosa

# 1. Get the file path to the included audio example

filepath = 'C:\\Users\\Nobleding\\Documents\\FileRecv\\'

filename =filepath+'bluesky.wav'

# 2. Load the audio as a waveform `y`

# Store the sampling rate as `sr`

y, sr = librosa.load(filename,sr=None)

load默认的采样率是22050,如果需要读取原始采样率,需要.load(filename,sr=None)而不是load(filename)

例如读取一段音频,判断节奏,并画出时频特性:

# Beat tracking example

#from __future__ import print_function

import librosa

import matplotlib.pyplot as plt

import librosa.display

# 1. Get the file path to the included audio example

# Sonify detected beat events

y, sr = librosa.load(librosa.util.example_audio_file())

tempo, beats = librosa.beat.beat_track(y=y, sr=sr)

y_beats = librosa.clicks(frames=beats, sr=sr)

# Or generate a signal of the same length as y

y_beats = librosa.clicks(frames=beats, sr=sr, length=len(y))

# Or use timing instead of frame indices

times = librosa.frames_to_time(beats, sr=sr)

y_beat_times = librosa.clicks(times=times, sr=sr)

# Or with a click frequency of 880Hz and a 500ms sample

y_beat_times880 = librosa.clicks(times=times, sr=sr,

click_freq=880, click_duration=0.5)

# Display click waveform next to the spectrogram

plt.figure()

S = librosa.feature.melspectrogram(y=y, sr=sr)

ax = plt.subplot(2,1,2)

librosa.display.specshow(librosa.power_to_db(S, ref=np.max),

x_axis='time', y_axis='mel')

plt.subplot(2,1,1, sharex=ax)

librosa.display.waveplot(y_beat_times, sr=sr, label='Beat clicks')

plt.legend()

plt.xlim(15, 30)

plt.tight_layout()

关于可视化多说两句,librosa.display模块并不默认包含在librosa中,所以开头两句都要有:

import librosa

import librosa.display

例如这个时候想显示语谱图:

import librosa

import matplotlib.pyplot as plt

import numpy as np

import librosa.display

# 1. Get the file path to the included audio example

filepath = 'C:\\Users\\Nobleding\\Documents\\FileRecv\\'

filename =filepath+'bluesky1.wav'

# 2. Load the audio as a waveform `y`

# Store the sampling rate as `sr`

y, sr = librosa.load(filename,sr=None)

plt.figure(figsize=(12, 8))

D = librosa.amplitude_to_db(librosa.stft(y), ref=np.max)

plt.subplot(4, 2, 1)

librosa.display.specshow(D, y_axis='linear')

plt.colorbar(format='%+2.0f dB')

plt.title('Linear-frequency power spectrogram')

例如想观察CQT变换:

CQT = librosa.amplitude_to_db(librosa.cqt(y, sr=16000), ref=np.max)

plt.subplot(4, 2, 3)

librosa.display.specshow(CQT, y_axis='cqt_note')

plt.colorbar(format='%+2.0f dB')

plt.title('Constant-Q power spectrogram (note)')

其他以此类推。

MFCC提取:

import librosa

import librosa.display

# 1. Get the file path to the included audio example

# Sonify detected beat events

y, sr = librosa.load(librosa.util.example_audio_file())

librosa.feature.mfcc(y=y, sr=sr)

librosa在youtube上有简要的教程。

三、librosa的安装

libsora对应的链接点击这里。安装报错两个:

关于microsoft visual c++ 14.0 :

解决思路是:

Download Microsoft Visual C++ Build Tools 2015

Install this, making sure in the install options to select the “Windows SDK” appropriate for your version of Windows. Windows 7 systems should use Windows 8.1 SDK.

找到visual C++下载页面,点击这里:

安装完成后,安装resampy。

关于resampy(同样依赖microsoft visual c++ 14.0):

resampy是采样率转化工具,github关于resampy的安装包点击这里。

cd到对应文件夹,我放在了\pkgs\lib文件夹内,输入:

pip install resampy

可以看到resampy已经成功安装:

进一步安装librosa,同样放在\pkgs\lib文件夹内,cd到对应目录,输入:

pip install librosa

即可完成librosa的安装。

参考:

音频处理库—librosa的安装与使用 目录 序言 一、libsora安装 pypi conda source 二、librosa常用功能 核心音频处理函数 音频处理 频谱表示 幅度转换 时频转换 特征提取 绘图显示 三、常用功能代码实现 读取音频 提取特征 提取Log-Mel Spectrogram 特征 提取MFCC特征 绘图显示 绘制声音波形 绘制频谱图 序言 Librosa是一个用于... 阅读详情

相关推荐

微信小程序音视频通话(for硬件)授权与设备注册实战指南

本文详细介绍了微信小程序音视频通话(for硬件)组件的开发实践,涵盖授权流程、设备注册与VoIP插件集成。重点解析了如何通过服务端获取snTicket实现用户授权,确保硬件设备与微信端的音视频通话安全可靠,适用于智能门禁、话机等物联网场景。

u6v7w8x的博客 940

Python音频信号处理库函数librosa介绍

文章目录Python音频信号处理库函数librosa介绍(部分内容将陆续添加)介绍安装综述(库函数结构)Core IO and DSP(核心输入输出功能和数字信号处理)Audio processingSpectral representationsMagnitude scalingTime and frequency conversionPitch and tuningDeprecated(mov...

qq7835144的博客 2万+

【Chipyard】Gemmini快速上手

Gemmini 加速器在 ResNet50 推理任务中表现出计算密集型优势,核心操作周期分布符合深度学习模型特征,推理预测流程完整且测试通过,为后续硬件优化和模型部署提供了有效参考。

2341

librosa,一个很有趣的 Python 库!

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。Librosa可用于提取音频特征,然后与机器学习模型一起使用。这段代码将加载查询音频和数据库中的音频,提取它们的MFCC特征,然后计算它们之间的相似度,最终找到最相似的音频。

Trb201012的博客 5864

解决西门子Step 7 basic 找不到许可证问题

你在使用博图软件是否遇到过Step 7 basic 找不到许可证的问题呢!不言怕,今天我就来告诉你该如何处理吧!看步骤: 1.删除原授权的License: 打开Automation License Manager应用,然后我们可以发现仅有的License Key前面有一个时钟,说明它已经过期不可用,我们就要去寻求新的Key. 打开“我的电脑”,选择C盘,点击上方查看 点击选项–>查看 然...

让技术没有门槛 14万+

EtherCAT-7 从站代码移植-SPI

STM32F103 + AX58100,从站代码移植。

tianya_xuan的博客 3551

Python之librosa库语音信号处理

librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能。 学会librosa后再也不用用python去实现那些复杂的算法了,只需要一句语句就能轻松实现。 官网:https://librosa.org/doc/latest/core.html 核心 IO 和 DSP 音频加载 负载(路径=,sr,单声道,偏移,持续时间,...]) 加载音频文件作为浮点时间系

有的话没说出来之前,你是他的主人,一旦说出来你就成了他的奴隶||想要干好事,别太把自己当人,别把别人太不当人||认识这个人就是开了一扇窗户,就能看到不一样的东西,听到不一样的声音,能让你思考、觉悟,这已经够了 4987

STM32版CCD线性摄像头寻线寻迹小车_stm32接ccd

目前大多数的小车寻线寻迹都是用红外对管寻线,这是比较简单也比较成熟的技术方案,且成本也低。本文将介绍使用CCD线性摄像头寻线寻迹。TSL1401 线性传感器由一个 1x128 的光电二极管阵列、相关的电荷放大电路以及一个内部像素数据保功能组成。内部像素数据保功能可以为所有像素点提供同时积分的开始和停止时间。该阵列由 128 个像素组成,每个像素的感光面积为 3,524.3 平方微米。像素之间的间隔为 8μm。内部控制逻辑简化了操作,该模块需要串行输入(SI)信号和时钟信号(CLK)。

2401_87557129的博客 3224

音频特征提取——python/ librosa工具包使用

前言 本文主要记录librosa工具包的使用,librosa在音频、乐音信号的分析中经常用到,是python的一个工具包,这里主要记录它的相关内容以及安装步骤,用的是python3.5以及win10环境。一、MIR简介音乐信息检索(Music information retrieval,MIR)主要翻译自wikipedia.MIR是从音乐中检索信息的跨学科科学,该领域需要心理学、乐理学、信号处理、...

一摩尔自由的博客 1万+

企业碳排放计算方法与实践:从年度总量到月度分配的完整流程

本文系统介绍了企业碳排放计算的全流程方法,包括数据预处理、能源活动与产品生产碳排放计算、年度汇总及月度分配优化。通过ARIMA模型预测补充缺失数据,采用二次规划算法实现基于用电量模式的月度碳排放分配,确保计算结果的准确性与合理性。该方法为企业碳排放管理提供了科学工具,有助于精准监控排放、制定减排策略并满足合规要求。实施中需注重数据质量控制和排放因子选择,并根据企业特点调整参数。该流程适用于制造业企业,为实现碳中和目标提供可靠的数据基础和管理支持。

applehunqiu的博客 1568

188、LLC谐振变换器的样机调试实战(EMI测试)

本文分享了LLC谐振变换器EMI调试的实战经验。作者通过300W电源案例,指出LLC的EMI问题主要来自谐振腔共模电流和死区振铃,并提出三板斧解决方案:优化功率回路布局、合理选择共模电感、正确配置X/Y电容。文章详细分析了谐振电容位置、MOSFET走线、变压器屏蔽等关键设计要点,并列举示波器探头、滤波器接地等常见误区。最后强调EMI调试70%依赖布局优化,建议预扫测试、数据记录并保留6dB余量。全文以实际案例贯穿,为LLC电源EMI设计提供了实用指导。

Jack010169的博客 47

基于Python和Librosa的音频特征提取与情绪识别

音频处理和情绪识别是人工智能领域的重要分支,涉及到信号处理、机器学习等多个技术层面。本文将详细介绍如何使用Python和Librosa库进行音频特征提取,并利用这些特征来构建和训练一个用于情绪分类的深度学习模型。

weixin_52721112的博客 2149

【PCIe EP 设备入门学习专栏 -- 8 PCIe EP 架构详细介绍】

Synopsys PCIe 5.0 EP 架构由多个功能模块组成,整体遵循分层 + 模块化设计CXPL(事务层 + 链路层 + 物理层 MAC)XADM(仲裁/生成)、XAIM(应用接口)RADM(过滤/路由/Completion)CDM(配置空间)、PMC(电源管理)、LBC/DBI(寄存器访问)MSG_GEN(消息)、CXS(多芯片一致性)

CodingCos的博客 378

Python音频处理:Librosa和PyDub库在音频特征提取、语音识别与音乐生成中的应用。

然后,加载两个文件夹中的语音数据,并提取特征。例如,我们可以使用Librosa提取音频特征,然后使用PyDub对音频进行处理。Librosa是一个用于音频和音乐分析的Python库,提供了丰富的功能,包括音频加载、特征提取、时域和频域分析等。PyDub是一个用于处理音频的Python库,提供了简单易用的接口,用于音频的切片、拼接、格式转换等操作。我们可以使用Librosa提取音乐特征,并使用这些特征来生成新的音乐。请注意,这只是一个非常简单的示例,实际的语音识别系统需要更复杂的数据集、特征和模型。

weixin_41455464的博客 1260

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++实现python中librosa库音频特征提取

C++实现的Mel频谱提取器

qw6354070的博客 729

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Librosa是一个功能强大的Python库,专门用于音频和音乐信号的分析、处理与特征提取,广泛应用于音乐信息检索、音频信号处理、语音识别、机器学习等领域

Librosa是一个功能强大的Python库,专门用于音频和音乐信号的分析、处理与特征提取,广泛应用于音乐信息检索、音频信号处理、语音识别、机器学习等领域。

Flask Web 582

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python 课程23-LibROSA

是一个用于音频分析的 Python 库,特别擅长音乐信号处理和音频特征提取。它提供了广泛的工具来处理音频文件,包括加载、变换、特征提取、可视化等功能。LibROSA 在音乐信息检索(MIR)、机器学习中的音频预处理和音频信号处理等领域被广泛使用。本教程将带你从基础的音频加载到高级的音频特征提取与分析。你将学会如何使用处理音频数据、提取特征(如 MFCC、频谱图等),并进行常见的音频操作。

tim654654的博客 2568

jlibrosa:音频处理利器,Java世界的音频特征提取库

jlibrosa:音频处理利器,Java世界的音频特征提取库 项目介绍 jLibrosa 是一个开源的 Java 库,旨在成为 Python 中广受欢迎的 librosa 库的 Java 等效体。librosa 库在音频处理领域有着举足轻重的地位,它支持音频文件的处理,生成如振幅、短时傅里叶变换(STFT)、逆短时傅里叶变换(iSTFT)、梅尔频率倒谱系数(MFCC)等众多特征值。这些特征在构建基...

gitblog_00260的博客 915

Python音频处理入门:SoundFile和Librosa库详解

Python音频处理入门:SoundFile和Librosa库详解

engchina的专栏 1533

python音频分析工具_librosa: Librosa是一个用于音频、音乐分析、处理的python工具包,一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。...

librosaA python package for music and audio analysis.DocumentationSee http://librosa.github.io/librosa/ for a complete reference manual and introductory tutorials.Demonstration notebooksWhat does libr...

weixin_39944146的博客 897

【免费下载】 Librosa 安装和配置指南

### 项目介绍 Librosa 是一个用于音频和音乐分析的 Python 库。它提供了丰富的功能,包括音频信号处理、特征提取、音乐信息检索等。Librosa 广泛应用于音频处理、音乐信息检索、机器学习等领域。 ### 主要编程语言 Librosa 主要使用 Python 编程语言开发。 ## 2. 项目使用的关键技术和框架 ### 关键技术 - **音频处理**: Librosa 提供了多...

gitblog_09605的博客 2270

librosa能量_librosa与python_speech_features

在语音识别领域,比较常用的两个模块就是librosa和python_speech_features了。最近也是在做音乐方向的项目,借此做一下笔记,并记录一些两者的差别。下面是两模块的官方文档LibROSA - librosa 0.6.3 documentation​librosa.github.ioWelcome to python_speech_features’s documentation!...

weixin_35645652的博客 192

《Librosa :一个专为音频信号处理和音乐分析设计的Python库》

Librosa是一个专为音频信号处理和音乐分析设计的Python库。它提供了丰富的工具,可用于音频加载、特征提取、可视化以及音频信号的各种变换操作。

zheng_ruiguo的专栏 1620

Python音频分析实战:用Librosa解决音乐数据处理三大痛点

还在为音频数据分析发愁吗?🤔 当你面对海量音乐文件,想要提取关键特征却不知从何下手时,Python的Librosa库正是你需要的解决方案。无论是音乐信息检索、声音信号处理,还是AI音乐生成评估,这个强大的音频分析工具都能帮你轻松搞定。 ## 痛点一:音频特征提取太复杂? 你是否曾经尝试手动计算频谱特征,结果被复杂的数学公式和信号处理理论搞得头晕眼花?其实,用Librosa只需要几行代码就能完

gitblog_01196的博客 1255

Librosa:Python中的音频与音乐分析利器

Librosa 是一个专为音频和音乐数据分析而设计的强大的Python库,采用Python为主要编程语言,并且在处理音频信号时还涉及到一些MATLAB代码片段。此库提供了丰富的工具集,使得音乐信息检索(MIR)、声音处理以及音楽特性提取等任务变得简单易行。 ## 核心功能 Librosa 的核心功能包括但不限于: - **特征提取**:能够从音频中提取各种音乐学意义的特征,如Mel频率倒谱系...

gitblog_09603的博客 857

Librosa 安装和配置指南

### 项目介绍 Librosa 是一个用于音频和音乐分析的 Python 库。它提供了丰富的功能,包括音频信号处理、特征提取、音乐信息检索等。Librosa 广泛应用于音频处理、音乐信息检索、机器学习等领域。 ### 主要编程语言 Librosa 主要使用 Python 编程语言开发。 ## 2. 项目使用的关键技术和框架 ### 关键技术 - **音频处理**: Librosa 提供了多...

gitblog_09201的博客 647
上一篇: python commands_python 中os.system和commands.getoutput的区别
下一篇: python中grid_python tkinter中的grid布局是什么?
weixin_39621794
博客等级 码龄9年 47粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值