人工智能下的音频还能这样玩!!!!

人工智能音频处理库—librosa(安装与使用)

序言 一、libsora安装

pypi

conda

source

二、librosa常用功能

核心音频处理函数

音频处理

频谱表示

幅度转换

时频转换

特征提取

绘图显示

三、常用功能代码实现

读取音频

提取特征

提取Log-Mel Spectrogram 特征

提取MFCC特征

绘图显示

绘制声音波形

绘制频谱图

序言

Librosa是一个用于音频、音乐分析、处理的python工具包,一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。本文主要介绍librosa的安装与使用方法。

一、libsora安装

Librosa官网提供了多种安装方法,详细如下:

pypi

最简单的方法就是进行pip安装,可以满足所有的依赖关系,命令如下:

pip install librosa conda

如果安装了Anaconda,可以通过conda命令安装:

conda install -c conda-forge librosa source

直接使用源码安装,需要提前下载源码(https://github.com/librosa/librosa/releases/),通过下面命令安装:

tar xzf librosa-VERSION.tar.gz cd librosa-VERSION/ python setup.py install 二、librosa常用功能 核心音频处理函数

这部分介绍了最常用的音频处理函数,包括音频读取函数load( ),重采样函数resample( ),短时傅里叶变换stft( ),幅度转换函数amplitude_to_db( )以及频率转换函数hz_to_mel( )等。这部分函数很多,详细可参考librosa官网 librosa/core.html

音频处理

人工智能下的音频还能这样玩!!!!

频谱表示

人工智能下的音频还能这样玩!!!!

幅度转换

人工智能下的音频还能这样玩!!!!

时频转换

人工智能下的音频还能这样玩!!!!

特征提取

本部分列举了一些常用的频谱特征的提取方法,包括常见的Mel Spectrogram、MFCC、CQT等。函数详细信息可参考 librosa.github.io/librosa/feature.html

人工智能下的音频还能这样玩!!!!

绘图显示

包含了常用的频谱显示函数specshow( ), 波形显示函数waveplot( ),详细信息请参考 html

人工智能下的音频还能这样玩!!!!

三、常用功能代码实现 1.读取音频 #导入库 import librosa # # 读取音频 # Load a wav file y, sr = librosa.load('./sample.wav') print(y) #Librosa默认的采样率是22050,如果需要读取原始采样率,需要设定参数sr=None: print(sr) y, sr = librosa.load('./sample.wav',sr=None) #可见,'beat.wav'的原始采样率为16000。如果需要重采样,只需要将采样率参数sr设定为你需要的值: print(sr) y, sr = librosa.load('./sample.wav',sr=18000) print(sr)

人工智能下的音频还能这样玩!!!!

2.提取特征 提取Log-Mel Spectrogram 特征

Log-Mel Spectrogram特征是目前在语音识别和环境声音识别中很常用的一个特征,由于CNN在处理图像上展现了强大的能力,使得音频信号的频谱图特征的使用愈加广泛,甚至比MFCC使用的更多。在librosa中,Log-Mel Spectrogram特征的提取只需几行代码:

# # 提取特征 # Load a wav file y, sr = librosa.load('./sample.wav', sr=None) # extract mel spectrogram feature melspec = librosa.feature.melspectrogram(y, sr, n_fft=1024, hop_length=512, n_mels=128) # convert to log scale logmelspec = librosa.power_to_db(melspec) print(logmelspec.shape)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgxgz.html