由开源学习组织Datawhale提供
https://github.com/datawhalechina/team-learning
音频数据特征
Task 3 中介绍了许多音频特征如:过零率
;频率质心
;胜浦衰减
;色度频谱
等。以上已具体说明的四类特征中的前三个都是通过对声波信号进行一些处理,或者提取声波信号的特征。前三种方法没有对声波信号进行增维,因此,若想进一步做更为细致的分析,我认为是不够的。而第四种数据特征色度频谱
将频谱投影到12个区间表示音乐八度的12个不同的半音,这种方法较之于前三种更好的提取了特征,但是应用也收到了数据的限制,也就是说,或许只有在音乐分析的音频上,表现才是良好的。
MFCC特征提取
MFCC特征提取的步骤如下:
- 对语音信号进行分帧处理
- 用周期图(periodogram)法来进行功率谱(power spectrum)估计
- 对功率谱用Mel滤波器组进行滤波,计算每个滤波器里的能量
- 对每个滤波器的能量取log
- 进行离散余弦变换(DCT)变换
- 保留DCT的第2-13个系数,去掉其它
这6个步骤的目的是将连续的音频信号分解成连续的不同频率的音频信号。这是一个非常强大的特征提取方法。比方说一段音频,表达的同样的意思。但是用包络图来作为特征的话,老人、小孩、妇女等角色的包络图会存在极明显的不同。然而经过MFCC特征那个提取后,便可降低这种差异。
以上的MFCC特征提取已呗librosa
库进行了封装。调用函数
feature = librosa.feature.mfcc(x,sr)
feature.shape()
>>> (20,791)
其中 20 代表的是滤波器的数量,是可以人为设定的,一般在 20-40 不等。默认参数下是20.
梅尔频谱
梅尔频谱特征是本次baseline选用的特征提取方法
调用方法:
feature = librosa.feature.melspectrogram(x,sr)
feature.shape()
>>> (128, 791)
它可以提取的特征似乎比MFCC
更多。MFCC
仅对20个滤镜,但是他这里可以指定更多的提取向量维度。