基于听觉特性的Mel频率倒谱分析

基于听觉特性的Mel频率倒谱分析

心理学研究表明:人类对于声音音调的感觉其实都不是线性的
客观上:用频率表示
主观上:音调的单位用Mel标度
在这里插入图片描述

公式
在这里插入图片描述

根据人耳对低频信号比对高频信号更敏感这一原则,研究者根据心理学实验得到了类似于耳蜗作用的一组滤波器组 ,这就是Mel频率滤波器组。滤波器组一般为20-40个(26个最好)三角形滤波器
在这里插入图片描述

Mel-频率

目的:模拟人耳对不同频率语音的感知

人类对不同频率语音有不同的感知能力

1kHz以下,与频率成线性关系 1kHz以上,与频率成对数关系

Mel频率定义:1Mel—1kHz音调感知程度的1/1000

Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)

在这里插入图片描述

MFCC计算过程

在这里插入图片描述

将信号进行分帧,预加重和加汉明窗处理,然后进行短时傅立叶变换得到其频谱 对于每一帧,计算周期功率谱 将Mel滤波器应用到功率谱中,计算每个滤波器的能量和 将每个滤波器的输出取对数(模仿人耳对数式感知声强、压缩动态范围),得到相应频带的对数功率谱 对每个对数能量进行离散余弦变换(DCT,滤波器通常都有交叠,因此滤波器能量彼此相关;DCT对能量进行去相关),得到26个MFCC系数
在这里插入图片描述 保留DCT的2-13个系数,其余系数舍去(因为DCT的高阶系数代表滤波器能量的快速变化,事实证明这些快速变化影响语音识别的表现,所以我们去除高阶系数) 这种直接得到的MFCC特征作为静态特征,将这种静态特征做一阶和二阶差分,得到相应的动态特征(二阶差分:一阶差分的差分)

MFCC将人耳的听觉感知特性和语音的产生机制相结合,因此目前大多数语音识别系统中广泛使用这种特征

过程:

语音输入 预处理 数字化 特征提取——整段语音最后变成一系列特征向量 增加一阶特征(“delta”) 增加二阶特征(“acceleration”) 合并特征

MFCC特征参数:

26个滤波器,12个MFCC系数,外加短时能量 即:静态特征13维+一阶特征13维+二阶特征13维 共39维
clear all;
%读取语音信号
[x1,fs]=audioread('jia.wav');     
x2=audioread('jia1.wav');          
x3=audioread('yi.wav'); 
% 帧长
wlen=256; 
% 帧移
inc=128; 
%MEL滤波器个数
p=24;
% 幅值归一化
x1=x1/max(abs(x1));             
x2=x2/max(abs(x2));
x3=x3/max(abs(x3));
%调用函数z_mfcc,计算mfcc参数
ccc1=z_mfcc(x1,fs,p,wlen,inc);
ccc2=z_mfcc(x2,fs,p,wlen,inc);
ccc3=z_mfcc(x3,fs,p,wlen,inc);
%比较mfcc参数
figure(1)
ccc_1=ccc1(:,1);
ccc_2=ccc2(:,1);
plot(ccc_2,'-g');hold on
plot(ccc_1,'-b');
xlabel('甲和甲1的MFCC比较','fontsize',12);
ylabel('幅值','fontsize',12);

figure(2)
ccc_1=ccc1(:,1);
ccc_3=ccc3(:,1);
plot(ccc_3,'-g');hold on
plot(ccc_1,'-b');
xlabel('甲和乙的MFCC比较','fontsize',12);
ylabel('幅值','fontsize',12);

效果:
在这里插入图片描述

来源url
栏目