MFCC(語音特徵引數)

2021-06-21 11:23:29 字數 2771 閱讀 6673

一、mfcc計算總體流程

1.訊號的預處理,包括預加重(preemphasis),分幀(frame blocking),加窗(windowing)。假設語音頻號的取樣頻率fs=8khz.由於語音頻號在10-30ms認為是穩定的,則可設定幀長為80~240點。幀移可以設定為幀長的1/2.

2.對每一幀進行fft變換,求頻譜,進而求得幅度譜。

3.對幅度譜加mel濾波器組(mel

濾波器組設計問題)。

4.對所有的濾波器輸出做對數運算(logarlithm),再進一步做離散余弦變換dct可得mfcc。

流程圖如下所示:

二、實際頻率與mel頻率的轉換

mel頻率與實際頻率的具體關係如下:

人耳的聽覺特性與mel頻率的增長一致。與實際頻率在1000hz以下呈現線性分布,1000hz以上呈現對數增長。

在mel

頻率軸上配置

k個通道的三角形濾波器組,

k的個數由訊號的截止頻率決定。

設計的過程如下:

假設語音頻號的取樣頻率,幀長n=256,濾波器個數k=22

由此可得語音頻號的最大頻率為:

根據下面的公式:

可以求得出最大的mel頻率為:

由於在mel刻度範圍內,各個三角濾波器的中心頻率是相等間隔的線性分布。由此,可以計算兩個相鄰三角濾波器的中心頻率的間距為:

因此,各三角形濾波器在mel刻度上的中心頻率可以表示為:

由上面的中心頻率可以計算出對應的線性刻度上的頻率。如下圖所示:

下面採用matlab設計mel三角形濾波器如下:

//獲取mel三角濾波器的引數

fs為取樣頻率,filternum為三角濾波器的個數

maxmelfreq = freq2mel(fs/2); %將線性頻率轉化為mel頻率,得到最大的mel頻率

sidewidth=maxmelfreq/(filternum+1);%求頻帶寬頻,即mel濾波器寬度

index=0:filternum-1;%濾波器的中心

filterbankprm=floor(mel2freq([index;index+1;index+2]*sidewidth)/fs*framesize)+1;

filterbankprm(end, end)= framesize/2;

得到如下的三角形濾波器,橫座標對應於fft中的點的下標:

注:這裡選擇的幀長為256點,然後fft的點數也為256,由於是對稱的,所以只取前面一半的點計算頻譜。然後加入到三角濾波器中。

每乙個三角形濾波器的中心頻率c(l) 在mel頻率軸上等間隔分布。設o(l),c(l),h(l) 分別是第l 個三角形濾波器的下限,中心,和上限頻率,則相鄰三角形濾波器之間的下限,中心,上限頻率的關係如下:c(l)=h(l-1)=o(l+1)

根據語音頻號幅度譜

對所有的濾波器輸出做對數運算,再進一步做離散余弦變換(dct)即可得到mfcc。

由上公式可知,mfcc特徵引數的長度與濾波器的個數無關。只與dct有關。

% === 對幅度譜進行三角濾波過程

function tbfcoef = tribandfilter(fftmag, p, filterbankparam)

fstart=filterbankparam(1,:); %fftmag一幀資料的幅度譜

fcenter=filterbankparam(2,:);%濾波器的中心點,每列代表乙個濾波器的中心頻率

fstop=filterbankparam(3,:);

% triangular bandpass filter.

for i=1:p %濾波器個數

for j = fstart(i):fcenter(i), %第i個濾波器起始頻譜點和中心頻譜點的輸出

filtmag(j) = (j-fstart(i))/(fcenter(i)-fstart(i));

endfor j = fcenter(i)+1:fstop(i),

filtmag(j) = 1-(j-fcenter(i))/(fstop(i)-fcenter(i));

endtbfcoef(i) = sum(fftmag(fstart(i):fstop(i)).*filtmag(fstart(i):fstop(i))'); %第i個濾波器的輸出

endtbfcoef=log(eps+tbfcoef.^2); %求得每個濾波器的對數輸出,有多少個濾波器就有多少個輸出,對應為每一幀

語音特徵引數MFCC

一 mfcc概述 在語音識別 speech recognition 和話者識別 speaker recognition 方面,最常用到的語音特徵就是梅爾倒譜係數 mel scale frequency cepstral coefficients,簡稱mfcc 根據人耳聽覺機理的研究發現,人耳對不同頻...

語音特徵引數MFCC計算過程

語音頻號為從聲道輸入的速度波 輸入訊號 與聲道形狀 系統 卷積得到的聲壓波。語音頻號的特徵引數的提取正是對語音頻號進行時域和頻域的處理分離出聲道形狀 系統 的過程。聲道形狀 系統 也正是無論任何語音頻號,只要每個字母或數字相同 它的發音就相同 它就在一定程度上相同的特徵參量 頻域共振峰 的頂點 的包...

語音特徵引數MFCC計算的詳細過程

注 老早之前就在看語音頻號處理方面的知識,每當過了很久都會忘記,由於之前對語音特徵mfcc提取的流程還是非常清楚的,但是對於一些細節以及一些原理一些的東西還是不是很明白,通過這次的總結,我終於明白的其中的技術細節以及設計方法,包括濾波器的設計,以及引數的具體意義,希望這個總結能給自己增加更多的印象,...