MFCC和LPCC特征参数在说话人识别中的研究

2010-11-27 05:38马雨廷陈俊宇
关键词:码本汉明特征参数

李 泽,崔 宣,马雨廷,陈俊宇

(西华大学 机械工程与自动化学院,四川 成都 610039)

随着社会的发展和科技的进步,信息服务正走向智能化,说话人识别(Speaker Recognition)已勃然兴起[1].它已被广泛地应用于刑侦破案、罪犯跟踪、国防监听、证券交易、银行交易、公安取证、个人电脑声控锁、汽车声控锁和信用卡认证等[2].

说话人识别又被称为话者识别,是指通过对说话人语音信号的分析处理,自动确认说话人是否在所记录的话者集合中以及进一步确认说话人是谁.说话人识别可分为说话人辨认和说话人确认两类[3-4].对于说话人识别有两个最基本的问题:第一个基本问题是说话者声音特性特征参数的选取,第二个基本问题是说话人模型的建立.本文针对第一个基本问题进行研究,介绍了MEL频标倒谱系数(MFCC)和线性预测倒谱系数(LPCC),并对其在说话人识别中的效果作出了理论比较和实验比较.

1 语音特征提取

特征提取[5]就是指从说话人的语音信号中获得一组能够描述语音信号特征参数的过程,通过不断的实验和探索,人们发现语音信号是声道频率特性和激励信号源两者的共同结果,后者对于某一信号来说常带有一定的随机性,而说话人的个性特征在很大程度上取决于说话人的发音声道.因此,音特征参数可以是能量、共振峰值、基音频率等语音参数.目前,在语音识别中较为常用的特征参数为MEL倒谱系数MFCC与线性预测倒谱系数LPCC,两者都是将语音从时域变换到倒谱域上[6],前者构造人的听觉模型,以语音通过滤波器组的输出为声学特征,直接通过离散傅立叶变换(DFT)进行变换;后者从人的发声模型角度出发,利用线性预测编码(LPC)技术求倒谱系数.

2 MFCC与LPCC特征提取

2.1 MEL倒谱系数MFCC

MFCC的分析符合人类的听觉特性,人耳具有一些特殊的功能,能在嘈杂的环境中以及各种异变情况下分辨出各种语音,其中耳蜗起了关键作用[7-8].耳蜗实质上就相当于是一个滤波器组,耳蜗滤波作用是在对数频率尺度上进行的,1 000 Hz 以下是线性尺度,1 000 Hz以上是对数尺度,这就使人耳对高频敏感.根据这一原则研究了一组类似于人耳蜗作用的滤波器即Mel频率滤波器.

MFCC是使用傅立叶分析提取的语音特征参数,是类似于指数的形式 ,它和实际频域之间的关系见(1)式.

Fmel= 1 127 ln(1+FHz/700)

(1)

式中,Fmel是以MEL为单位的感知频域[9],FHz是以Hz为单位的实际频域.将语音信号的频谱变换到感知频域中,能更好地进行模拟听觉过程的处理.

在实际应用中提取 MFCC语音特征参数的算法如下.

Extraction MFCC

Inputs: s contains the signal to analize; fs is the sampling rate of the signal

Output: r contains the transformed signal

01 m←256; //帧长为256

02 n←100; //帧移为100

03 l←length(s); //求取输入的语音信号的长度

04 nbFrame=floor((l-n)/m)+1; //求得所输入语音信号总的帧数

05 i←1 to n

06 j←1 to nbFrame

07 M(i,j)=s(((j-1)*m)+i); //s为幅度值,M(i,j)为分帧之后的数据

08 h←hamming(n);

09 M2←diag(h)*M; //对数据矩阵M加上汉明窗,形成对角矩阵M2

10 i←1 to nbFrame

11 frame(:,i)=fft(M2(:,i));//对已加窗的数据进行快速傅立叶变换,将其转换到频域上

12 t←n/2;

13 tmax←1/fs;

14 m=melfb(20,n,fs);//调用20阶MEL滤波器组进行滤波,把输出值保存在m中

15 n2←1+floor(t);

16 z=m*abs(frame(1:n2, : )).^2; //取前1到n2行矩阵中,所有帧列向量的平方

17 r1=log(z); //对z的值取对数

18 r=dct(r1); //对所求得的值取反余弦变换

通过以上算法,最终可以得到所要求取的20阶MFCC语音特征参数.

2.2 线性预测倒谱系数LPCC

在语音识别系统中,通常使用由LPC系数推导出另一种参数,LPCC作为特征参数[11].倒谱实际上是一种同态信号处理方法,标准的倒谱系数计算流程需要进行FFT变换、对数操作和相位校正等运算,运算比较复杂.在实际计算中,当序列x(n)为最小相位的情况下,可以利用序列x(n)及其复倒谱系数C(n)的递推关系来简化计算[12-13].

在实际应用中,提取LPCC语音特征参数的算法如下.

Extraction LPCC

Inputs: y contains the signal to analize ;fs is the sampling rate of the signal

Output: h contains the transformed signal

01 Framelen←256; //帧长为256

02 Frameinc←100; //帧移为100

03 x←enframe(y, Framelen, Frameinc); //将输入的语音信号分帧,每一行为一帧

04 h←hamming(Framelen); //形成汉明窗为256*256的矩阵

05 x←x*diag(h); //为分帧后的语音信号按行加窗

06 [x1,x2]←size(x); //取x的行数和列数,分别存为x1和x2

07 i←1 to x1

08 a=lpc(x(i,:),12); //求取12阶lpc倒谱

09 len=length(a); //求得向量a的长度

10 p=12;//阶数设为12阶

11 n=1;

12 j←2 to len

13 if j==2

14 h(i,n) ←a(j);

15 else

16 k←1 to n-1

17 h(i,n)=a(j)+sum((1-k/n)*a(k)*h(i,n-k)); //有LPC可递推出LPCC

18 n←n+1;

19 return h.

3 MFCC与LPCC的理论比较

(1)MFCC参数将线性频标转化为MEL频标,强调语音的低频信息,从而突出了有利于识别的信息,屏蔽了噪声的干扰[12].LPCC参数是基于线性频标的,它在所有的频率上都是线性的逼近语音,而这与人的听觉特性是不一致的,而且LPCC包含了语音高频部分的大部分噪音细节,这些都会影响系统的性能.

(2)MFCC参数无任何前提假设,在各种情况下均可使用.而LPCC参数假定所处理的信号为AR信号,对于动态特性较强的辅音,这个假设并不严格成立.另外,当噪声存在时,AR信号会变为ARMA信号:

其中,H(ω)为受噪声污染的信号功率谱,n0为噪声功率,这会给LPC分析的结果带来较大误差[4].因此,对于语音的低频部分MFCC参数的抗噪声能力优于LPCC参数[12].

(3)LPCC参数也继承了LPC的优点,保证了系统的稳定性,并且对元音有较好的描述能力,但对辅音的描述能力比较差;而MFCC是采用滤波器组的方法计算出来的,所以具有良好的识别性能.

4 实验与结论

4.1 系统平台

实验的软硬件环境如下:

(1)CPU 为Pentium 2.80 GHz,内存512 M.

(2)普通麦克风,采用wav格式录制.

(3)操作系统 WindowsXP.

(4)开发平台 MATLAB 7.1

4.2 实验数据及过程

实验中采用的语音数据为15名录音人员 ,包含6名女性和9名男性,在相距30 d的时段录了两次语音.录音在实验室环境下进行,MFCC语音参数和LPCC语音参数的提取,都是采用8 K采样率.录音人员全部为学生 ,每人随机朗读.语句长度为5~15 s ,每个语句存为一个文件 ,每次录取 5 段语句.特征参数提取前进行的预加重1-0.9375 Z-1,分词处理,每段语音分割为帧长30 ms,240个采样点,帧移设为0,帧数共48,加Hamming窗平滑.

以3号女生的语音信号作为测试语音,其他语音信号处理方法与3号语音方法相同.发音内容为 “I LOVE YOU”的一段原始语音信号,测试结果如图1所示.

图1 原始语音的时域波形图Fig.1 Original sound’s sound wave of the time domain

此语音信号经过预加重、分帧、加汉明窗平滑后得到语音信号波形,如图2所示.

图2 加汉明窗后的语音信号波形图Fig.2 Hamming window after wave of the voice signal

经过1,2步预处理后便可以提取20阶MFCC语音特征,语音训练过程采用的是LBG算法,并使用了分裂法进行码本初始化.在实验中,取目前公认为较好的码本尺度来做实验,码本尺度为16.经过VQ矢量化后,得到的码本数据如图3所示.

图3 语音信号的数据压缩图Fig.3 The data compression map

经过预加重、分帧、加汉明窗平滑后,求取的12阶线性预测系数LPC,如图4所示.

图4 线性预测系数LPCFig.4 Linear prediction coefficient

线性预测系数LPC转化为线性预测倒谱系LPCC(12),LPCC如图5所示.

图5 12阶线性预测倒谱系数LPCC Fig.5 12 bands Linear Prediction inverted coefficients

在基于单一语音信号特征的说话人辨认系统中,分别对所有人员的语音数据采用提取20阶的MFCC和12阶的LPCC作为识别的语音特征参数,经多次实验对比,两个系统的识别结果对比如表1所示.

表1 基于单一特征系统的识别率Tab.1 The recognition rate based on the single characteristics

提取12阶LPCC作为特征参数,来进行说话人辨认的效果比较差,出现了多处错误,原因正如上面分析所述, 提取12阶LPCC特征参数后,形成的码本与码本之间的距离值太相近,差异不大,所以在辨认时很难精确地分析出测试语音与语音库中的哪个语音样本相对应,故出现了较多的识别错误.

4.3 实验结果

对同一期录音的无噪音语音进行说话人识别 ,采用MFCC作为特征参数的说话人识别和采用LPCC作为特征参数的说话人识别都可以达到比较高的识别率.如果训练和识别的语音环境有一定的干扰 ,利用两种参数的识别率都会大幅下降.

对于低频语音的识别部分,采用MFCC特征参数在屏蔽噪音和抗噪声两方面的能力都优于采用LPCC特征参数的说话人识别,所以在传统的说话人识别系统中多数都会采用MFCC作为语音特征.

5 小结和展望

本文详细地介绍了在说话人识别系统中语音特征参数的提取原则,并对两个重要的语音特征参数MFCC和LPCC进行了比较,提出了这两种语音特征的不同之处,并进行了实验比对.

本实验在无噪的情况下识别效果较好,但在有噪音情况下识别率大大降低,实验只得出了两种特征参数在识别低频部分的优劣.如果能考虑到结合其他特征参数进行识别,可以进一步提高识别的准确率.

参考文献:

[1] PRUZANSKY S. Pattern-matching procedure for automatic talker recognition[M]. J.Acoust.Sec.Amer,1963:354-358.

[2] ATAL B S. Automatic speaker recognition based on pitch contours[M]. J. PH.D thesis.Ploytechinc Inst. Brooklyn.NY, 1968:289-212.

[3] TIERNEY J. A study of LPC analysis of speech in additive noise[J].IEEE Trans on Signal Processing,1990,24(4):389-397.

[4] 杨行峻,迟惠生. 语音信号数字处理 [M].北京:电子工业出版社 ,1995:89-96.

[5] 韩纪庆,张 磊,郑铁染 . 语音信号处理[M].北京:清华大学出版社,2004:101-124.

[6] 马 俊.声纹识别技术研究[D].哈尔滨:哈尔滨工程大学,2004:33-49.

[7] 张卫清.语音识别算法的研究[D].南京:南京理工大学,2004:44-61.

[8] 汪 峥,连 翰,王建军.说话人识别中特征参数提取的一种新方法[J].复旦大学学报(自然科学版),2005,44(1):21-23.

[9] 谷志新,王述洋,田仲富. 声纹识别技术中特征语音参数选取的相关问题[J].研究与技术,2005,18 (2): 27-30.

[10] 张 华,裘雪红.说话人识别中LPCCEP倒谱分量的相对重要性[J].计算机技术与发展,2006(4):67-68, 72.

[11] DANIEL G R, JULIAN F A.Using quality measures for multilevel speaker recognition[J]. Computer Speech and Language,2006(20):192-209.

[12] 崔 宣. 基于语音混合特征说话人识别的研究[D]. 成都:西华大学,2008:19, 39-42.

[13] 张 凯.Delta特征用于说话人识别的研究[J].声学电子工程,2008(2):21-24.

猜你喜欢
码本汉明特征参数
免调度NOMA系统中扩频码优化设计
故障诊断中信号特征参数择取方法
基于特征参数化的木工CAD/CAM系统
基于有限域上仿射空间构造新码本
基于Zadoff-Chu 矩阵的最优码本构造方法
几类近似达到Welch界码本的构造
基于PSO-VMD的齿轮特征参数提取方法研究
媳妇管钱
统计特征参数及多分类SVM的局部放电类型识别
汉明距离矩阵的研究