基於聽覺特性的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);

效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章