MFCC(共4篇)
MFCC 篇1
1 引言
语音识别技术的研究广泛的涉及到声学、语言学、语音学、生理科学、数字信号处理、通信理论、电子技术、计算机科学、模式识别和人工智能等众多学科, 因此一个识别效果良好的语音识别系统, 需要考虑包括说话人的心理状态、输入设备、说话环境多方面的因素。在实际应用中, 一般多选取MFCC作为特征矢量来使用。因为人的听觉系统是一个比较理想的语音识别系统, 而MFCC (Mel倒谱系数) 模拟了人的听觉特性, 是符合人听觉特性的语音特征参量, 在实际应用中取得了较高的识别率。该特征谱由Davies和Mermelstein提出来的, 并证明了基于MFCC特征参数的语音识别系统比基于其他特征参数的识别系统优越。
2 MFCC参数的提取
经过对语音信号的预处理之后就要进行特征参数的提取, 在语音信号的特征提取中对特征参数的要求是。
(1) 能有效代表语音特征, 具有良好的区分性。
(2) 特征参数之间有良好的独立性。
(3) 特征参数易于计算, 最好能保证语音识别的实时实现。
一般将语音信号的特征参数分为两类。第一类为时域特征参数, 通常是将一帧语音信号中的各个时域采样直接构成一个参数矢量;第二类为变化域特征参数, 目前常用的为频域特征参数。
MFCC是将人耳听觉感知特性与语音的产生相结合的一种特征参数, 能很好的反应出人耳的感知特性。我们以阶参数为例, 以前组纯净语音做为训练模板, 以组语音做为识别模板, 使用鲁棒性训练方法训练模板, 识别时使用识别器, 通过增减各分量的方法来评价了各分量参数对于语音识别的影响。
MFCC特征参数的分析框图如图1所示。
MFCC的提取过程如下:
(1) 对语音信号进行预处理, 加窗分帧将其变为短时信号。
(2) 通过将短时时域信号转化为频域信号月, 并计算其短时能量, 离散傅里叶变换。将时域信号x (n) 后补若干O以形成长为N (一般取N:512) 的序列, 然后经过离散傅里叶变换 (DFT) 后得到线性频谱X (k) , 转换公式为。
(3) 在频标内三角带通滤波器个加于坐标得到滤波器组, 转化关系为:
(4) 求对数能量。为了使计算结果对噪声和谱估计噪声有更好的鲁棒性, 一般将上述经过Mel滤波器组得到的Mel频谱取对数能量。
则由线性频谱X (k) 到对数频谱S (m) 的总传递函数为:
(5) 离散余弦变换。
标准的倒谱参数只反映语音参数的静态特性, 实际上由于发音的物理条件限制, 不同帧间语音一定是相关的, 变化是连续的, 所以在识别参数中还使用一阶差分倒谱参数。
将上述对数频谱S (m) 经过离散余弦变换 (DCT) 变换到倒谱域, 即可得到Mel频谱倒谱系数 (MFCC参数) c (n) :
3 MFCC参数的改进算法
MFCC参数主要描述了表征声道特性的谱包络特征, 而忽略了基音频率对它的影响。基音频率会影响MFCC参数对声道特性的准确描述, 进而影响语音识别系统的性能。
针对上面存在的问题, 对MFCC算法进行改进, 在提取MFCC的过程中, 不直接对语音短时幅度谱提取MFCC参数, 而是先对幅度谱进行平滑, 得到谱包络的近似表示, 在谱包络的基础上提取MFCC参数, 以降低基音频率对其的影响。
平滑MFCC参数提取过程:
平滑MFCC的提取过程大体上与MFCC提取过程相同, 不同的是在进行离散傅里叶变换后, 对幅度谱进行平滑求取其谱包络, 再经过MEL滤波器组求倒谱, 其框图如下, 这样以尽量降低基音频率的影响, 使得参数可以更加准确地刻画声道特性。
从幅度谱中提取谱包络的方法, 我们采用基于平均阈值法谱包络估计算法, 其具体过程如下:
(1) 一帧语音信号进行Fourier变换得到短时幅度谱X (k) , 并设Z (k) =X (k) ;
(2) 利用滑动平均滤波器w (l) 对Z (k) 进行平滑, 得到平滑谱Y (k) ;其中w (l) 如下式:
采样频率为8kHz, FFT取512点时, 取N=13, 不为零的区间宽度约400 Hz;
(3) 取原始幅度谱X (k) 与平滑Y (k) 对应频点的最大值, 得到Z (k) , 即Z (k) =max (X[k], Y[k]) ;
(4) 重复 (2) , (3) 过程K次后, 将最终获得的Z (k) 作为X (k) 谱包络的估计。根据实验, K取5次比较合适。标准的MFCC参数只反映了语音参数的静态特性, 而人耳对语音的动态特征更为敏感, 一阶差分MFCC (■MFCC) 就是一种动态参数, 为了进一步提高系统的识别率, 对特征参数进行二次特征提取, 提取出差分倒谱嘲, 其计算采用下面的公式:
式中:c和d都表示一帧语音参数, k为常数, 通常为2, 这时差分参数称为当前帧的前两帧和后两帧参数的线性组合。
4 实验与结果
本实验环境是基于MATLAB6.5平台来实现, 每个人有40次录音, 前20次与后20次录音时间相隔大约一周时间, 每次录音大约5s左右。
在本试验中, 对同一个人说话人, 取其两次录音, 这两次录音的时间间隔至少为一周期时间。把第一次录音后进行的处理在下列实验图中列为第一次, 第二次录音后进行的相关处理列为第二次。图3表示用改进的MFCC算法提取的平滑MFCC参数。
通过对MFCC的提取过程的详细分析和实验, 发现基音频率会影响MFCC参数对声道特性的准确描述, 从而会降低系统的时间鲁捧性, 进而影响语音识别系统的性能, 针对这个问题, 对MFCC算法进行改进, 在提取MFCC的过程中, 先对幅度谱进行平滑, 得到谱包络的近似表示, 在谱包络的基础上提取MFCC参数。实验结果表明, 这种基于平滑幅度谱包络的平滑MFCC的改进参数性能在整体上优于MFCC参数, 可以得到更好的识别率。
参考文献
[1]赵力.语音信号处理[M].北京:机械工业出版社, 2005.
[2]甄斌, 吴玺宏, 刘志敏.语音识别和语音识别中各倒谱分量的相对重要性[J].北京大学学报:自然科学版, 2001, 37 (3) :371-378.
[3]王伟, 邓辉文.基于MFCC和VQ的语音识别系统[J].仪器仪表学报, 2006, 27 (6) :2253-2255.
[4]马志友, 杨莹春, 吴朝晖.二次特征提取及其在语音识别中的应用[J].电路与系统学报, 2003.
MFCC 篇2
近年来,由于计算机技术和因特网技术的飞速发展,促使图像、视频和音频等各种各样形式的多媒体的产生、保存及传输都变得越来越容易。但由此带来的安全问题,如非法复制和盗版问题日益突出。在这种背景下,能够很好解决版权问题的数字水印被提出,已经变成当前的研究热点之一[1]。
目前提出的算法,多数是通过修改原始音频的时域或变换域的信息来嵌入水印,虽可实现版权保护,但都是以牺牲音频的质量为代价的。为了不影响音频音质,即实现水印的透明性,在这种应用背景下,零水印技术首次被提出。零水印算法[2,3]是无需改变原来音频的任意数值的算法,因此能够很好地处理数字水印的透明性及稳健性之间的关系。
国内已有一些学者针对零水印展开了相关研究。文献[4]所提出的算法是将音频的小波域特征提取出并对其通过Hash变换转为一组二值序列,将其“嵌入”到原来的音频中。虽然能够实现数字音频的验证,但嵌入的数字签名是无意义的,这样就不能直观给出能够代表版权的信息。文献[2]提出了一种基于DWT和SVD的零水印算法,该算法的思路是先将音频分帧,计算每帧的短时能量和过零率;然后通过预先设定的阈值筛选出特征显著的音频帧,并对选定的每帧进行DWT变换,取DWT变换的低频部分再进行SVD;最后通过分解后得到的最大奇异值来生成水印信息。该算法虽然对常见音频攻击具有一定的鲁棒性,但是由于需要事先确定出短时能量和过零率的阈值,这两个阈值的选取对算法效果影响显著,算法稳定性欠佳。文献[5,6][5,6]提出了基于音频特征MFCC的水印方法,虽都可对音频版权和内容进行认证,但嵌入水印过程需将原始音频内容进行适当修改,这样必然损害音频的音质,对水印的不可感知性带来挑战。对于前面提出的难题,参考文献[4,5,6]中提出的方法,将小波变换、音频信号特征及奇异值分解(SVD)[7,8,9,10]的特点相结合,根据小波域低频系数奇异值的优良特性,本文设计了音频自身特性为基础的零水印算法。该算法提取音频特征MFCC参数,一方面和代表版权信息的二值图像做异或运算,作为最终的水印“嵌入”原始音频中,得到一个位置索引向量并据此提取水印;另一方面,MFCC还被用在音频内容的认证。该算法不用更改原来音频的任何数据,使其有很强的透明性。仿真实验显示,该方案在完全不影响音频听觉质量的前提下,在抵抗常见音频攻击时有很强的鲁棒性,并能进行恶意篡改定位。
1 理论基础
1.1 奇异值分解
奇异值分解(SVD)经常被用在线性代数里,是特别有效的运算工具,可以将矩阵进行对角化操作[11]。B是一个矩阵,那么对其进行SVD操作,计算公式如下:
将S中对角线的值叫做奇异值,具有以下特点:(1)稳定性很好,对各种常见的信号处理,对角矩阵不会明显改变;(2)S体现出来的特点为矩阵序列具有的专有固性;(3)S中的第一个数是S中最大的数,而且它对矩阵的作用最大。基于SVD的以上突出特点,对SVD的研究成为现在的国内外研究热点。SVD首先在图像水印中被使用,最近几年用在音频水印上的研究也比较多。
1.2 MFCC特征参数提取
MFCC是基于人耳的听觉机理,并将其与言语的生成机制结合起来,利用一种非线性的频率单位(Mel频率)来模拟人耳的听觉系统,能很好反映出人耳的感知特性,当前普遍用于音频剖析、辨别及音频数字信号的建模。MFCC的提取步骤[12]如图1所示。
1)取音频X(n),先做预加重操作,再做分帧处理。其次对每帧进行加窗操作,便可以获得预处理操作的音频。
2)对处理后的每一帧音频做快速傅里叶操作,则时域数据转为频域数据,进而计算得到功率谱。
3)设计若干带通滤波器(一般值取24,用M表示),将得到各帧的功率谱经过滤波器,得到每一个所对应的对数能量谱S(m)。
式中,X(k)是原始音频做快速傅里叶操作后的频域数据,Hm(k)为三角滤波器。
4)将S(m)进行离散余弦操作,最终便可以获得MFCC参数C(n):
每一个音频帧将对应几个MFCC参数,比较重要的音频信息处于MFCC的C1至C12的参数内[13]。通常,前面阶数的MF-CC包含更多有用的内容,一般选择前面几阶。在综合计算量及水印嵌入量的情况下,本文选择第一阶MFCC。
2 水印生成
2.1 MFCC特征选取
为了能够在水印体系里比较充分地使用音频的自身特性,本文由提取得到的MFCC来生成二值特征序列。该算法中,MFCC参数,一方面与具有实际版权意义的二值图像进行异或运算,作为水印“嵌入”到原始音频中;另一方面还被用于音频内容的认证。为了更好地证明第一阶MFCC针对原始音频攻击非常敏感,对其进行以下攻击操作,如图2所示。可以得出,对音频的多项处理,MFCC的一阶参数都非常敏感。
2.2 水印信号生成
二值特征序列可以看作验证音频文件的“条形码”。为了能够让此“条形码”比较直观地进行表现,对二值特征序列和Arnold置乱处理的有意义二值图像序列做异或操作,便能获得一个既含有音频自身特征又具有版权意义的水印序列。具体步骤如下:
1)选取一个具有实际意义的图像系列,采用Arnold变换[9]对其实行置乱处理,这样可以有效提高该算法的安全性。因为音频实际上是一个一维序列,水印是二维系列,所以加密操作后的水印序列必须进行降维操作,变成一个一维序列,用V表示:
2)为获取音频分段的MFCC,首先将音频X做分段处理,并根据前面所述MFCC提取的步骤,得到每个分段的第一阶MFCC;然后将其放于f(i)中,1≤i≤n,i为帧号,n为总段数,M×N≤n,并将f(i)作为密钥k1。
3)计算f(i)的均值,用表示。按照如下公式得到一个二值特征序列,并将其存放于w(i)中。
4)将二值特征序列w(i)与预处理操作后的二值图像序列V做异或操作,便获取含有音频特征的序列Wz,并将其作为待嵌入的水印信息。
3 水印的嵌入和提取
由于DWT具有多尺度和多分辨率等优点,以及SVD所得的奇异值在信号处理中具有极强稳定性的特性,本文以此为基础,利用DWT低频系数奇异值所具有的稳定特性,设计了一种以音频自身特性为基础的零水印算法。本文算法思路是:先根据音频自身特征来构造水印,再将原音频做分帧处理,并对每帧实行DWT变换操作;取DWT变换的低频部分,进行SVD处理;最后使用奇异值平均值实现“嵌入”过程,获得一个位置索引向量并据此实现水印提取。本文算法流程如图3和图4所示。
3.1 水印的嵌入过程
1)原始音频分段。按照上节叙述的水印生成的详细步骤,生成二值序列wz(i),其中1≤i≤n(n是水印大小)。然后把音频X等分为n段,k为音频帧。
2)离散小波变换。对于每一个原始音频帧做H级小波变换操作,便可以取得低频部分CAH及高频部分。
3)奇异值分解。因为对音频进行DWT操作后,音频的主要能量集中存储于CAH中。所以,提取每个音频分段的CAH,并将其转换成矩阵Dj,1≤j≤n,再对矩阵Dj实行SVD操作。提取各矩阵的奇异值平均值组成数组S(i),然后对S(i)进行升序排列,组成升序奇异值平均值数组M(i),1<i<n。
4)获取临界值。得出水印里0和1的数值并用C0、C1表示,然后得出他们的比值r=C0/C1,则,n为M(i)里元素的数目。临界值T为M(i)中的第t个元素。将T看成密钥k2存储。
5)分类。根据阈值T对升序排列的奇异平均值数组M(i)按照式(8)做分类操作,将M(i)分成A类和B类,然后依次记下A和B类中的数值处于原音频X(i)中的段号i。
6)“嵌入”水印。根据水印比特值为1或0,将其分别映射到A、B类里,并在A、B类里选择相对应数值;然后记载此数值处在原来音频X中的段号数值;最后产生一个位置索引,并用N表示。将索引向量作为密钥进行存储,用k3表示,水印嵌入操作完成。在提取水印的时候,嵌入的索引向量N及临界值T要被发送到接收器中。
3.2 水印的提取过程
1)提取水印时,首先对音频进行同嵌入水印时一样的操作,获取各矩阵所对应的奇异值均值,然后组成数组S。
2)根据接收到的嵌入索引向量N(k3)提取数组S中相应位置对应的奇异值均值S(i),并让S(i)与接收到的临界值T(k2)进行比较,按照下式进行水印比特的提取:
3)取出WZ'及特征序列w(i)并实行异或操作,获取一维数组V'(i)。再取其依次进行升维操作及Arnold变换,便可以获得提取的水印图像。
4 仿真实验及分析
为测试本文所提出的水印方案的性能,使用Matlab软件进行了仿真测试。在测试过程中采用采样频率是44 100 Hz、量化精度为16 bit、段长为7 s的音频信号进行测试,并选取比较常用的db1小波基对每个音频分段实行3级DWT操作。实验中选用的原来信号的波形如图5所示,有意义的二值图像如图6所示,其大小为48×48。
4.1 鲁棒性测试
为体现版权保护的客观公正,取比特误码率(BER)及归一化相关系数(NC)作为本文所提出的算法鲁棒性的评价指标,其计算公式如下:
式中,w代表原水印的信息,w'代表所提取水印的信息,E代表所提取水印错误的比特数,M1×M2代表水印大小。
为测试本文所提出方案的鲁棒性,做了如下几种攻击操作:(1)添加信噪比为25 d B的高斯噪声;(2)添加信噪比为20 d B的高斯噪声;(3)经过截止频率是10 000 Hz的Butterworth数字滤波;(4)上重采样,速度为88.2 k Hz;(5)下重采样,速度为22.05 k Hz;(6)下重量化,量化长度为8 bit;(7)上重量化,量化长度为32 bit;(8)MP3压缩,速率为128 kb/s。经由上述攻击操作提取的各个水印如图7所示,其中(i)是无攻击操作时提取的结果。
从图7可以较明显发现,“嵌入”水印音频遭到如上攻击操作时,提取出的水印清晰可辨。尤其对于重采样、加噪、重量化操作得到的水印图像与原来水印图像相比较,肉眼看不出差异之处,从而表明文中提出的水印方法针对上面的攻击操作拥有比较不错的鲁棒性。
表1中给出了经过上述攻击后的NC和BER值,并将本文水印算法与文献[2]和文献[4]的算法进行了比较测试。通过比较发现,本文水印算法在受到前文所列的攻击时,NC均大于文献[2]和文献[4]算法,BER均低于文献[2]和文献[4]算法。主要是由于文献[2]中,生成水印的阈值是预先设定的,具有一定的随机性,对算法性能有较大影响。实验发现,有部分音频段经过攻击操作后,其短时能量和过零率会发生变化,采用事先选定的阈值进行特征音频段的筛选会增加水印信息的误码率。文献[4]是以DWT为基础的算法,本文算法是结合了DWT及SVD的算法。由于同时利用了DWT多尺度、多分辨率等优点及SVD所得奇异值均值稳定性强的优点,使得本文算法提取水印的相似度有所提高,误码率相对较小。实验结果也印证了本文算法较之前算法具有更强的鲁棒性。
4.2 篡改定位测试
如果音频的内容没有发生恶意的篡改,那么原来的音频同接收到的音频的MFCC值变化不大[6]。因此通过比较提取的MFCC及接收端获取到的密钥k1,来确认音频有没有发生篡改,还可以定位发生攻击的区域。
采用数组w1(i)来存储原始音频的MFCC,w2(i)来存储接收的信号的MFCC,m(i)为原音频X的MFCC同收到的音频的MFCC做差值并取绝对值操作的结果。
式中:i代表语音第i帧。m(i)的值趋近于0,说明两帧的变化不大,相反则认为该帧已经发生改变。通过m(i)可以确定不同帧所处位置。
为测试本文算法针对恶意篡改的检测和定位方面的功能,本文中主要进行了下列实验操作。篡改类型1将音频的任意采样值进行静音操作,篡改类型2将测试音频中的部分采样值用其他部分的采样值进行替换操作。图8(a)为将音频10 000~30 000之间的采样点静音的波形,图8(b)是把测试音频信号70 001~100 000的采样点用测试音频的100 001~130000的采样点替换的波形。经过篡改操作的m值和相应的位置定位如图9所示,测试表明,本文算法能够实现对篡改攻击的音频段的定位。
5 结语
本文所提出的方案是把离散小波变换同奇异值分解进行结合,以Mel频率倒谱系数获得音频的特征,并将其特征和二值图像异或后作为最终的水印。且该算法不更改原来音频任何数据,具有很强的透明性。仿真实验表明,该算法在完全不影响音频听觉质量的前提下,对多种攻击操作具备较强的鲁棒性,并可以定位恶意篡改。
摘要:利用小波域的低频部分的奇异值具有比较稳定的性能,设计一种以音频特征为基础的零水印方案。该方案利用原始音频特征——Mel频率倒谱系数(MFCC),一方面来构造水印,另一方面还被用于音频内容认证。先将原始音频做分段操作,取各分段进行DWT变换;选取小波域的低频部分,并做SVD操作;最后利用奇异值平均值实现水印的“嵌入”,获得一个位置索引向量并据此提取水印信息。仿真实验显示,该方案在完全不影响音频听觉质量的前提下,在抵抗常见音频攻击时有很强的鲁棒性,并能进行恶意篡改定位。
MFCC 篇3
当今说话人识别领域使用的特征参数有多种, 它们各具特点, 能够用于各种不一样的场合, 其中应用较为广泛的具有代表性的特征参数是:基音频率、线性预测系数 (LPC) 、线性预测倒谱系数 (LPCC) 、梅尔倒谱系数 (MFCC) 。
2 MFCC的提取与分析
梅尔倒谱系数 (MFCC) , MFCC是利用人耳听觉模型建立的倒谱系数, 人类的听觉系统可以看成一个非线性系统, 它对于不同的频率信号的灵敏度是不一样的, 一般是对数型关系。正是由于Mel倒谱系数基于人耳感知这种特殊的特性, Mel倒谱系数在抗噪声能力以及鲁棒性这些方面都比其它特征参数要优秀了很多。
对于不一样频率的语音, 人耳有不一样的感知能力, 声音的物理频率表示单位是梅尔 (Mel) 。频率和MFCC系数的关系如下式:
其中, f的单位为Hz。参照Zvick的研究所说, 临界带宽按照频率不同而改变, 在1000Hz以下时, 维持线性分布, 带宽在100Hz附近;在1000Hz以上时, 表现为对数增长形式, 如图1所示。
Mel参数的提取过程:
(1) 把之前预处理过的语音信号, 即时域信号做傅里叶变化 (DFT) 。计算得到线性频谱x (k) , 其转换公式为:
(2) 把上面的频谱x (k) 通过Mel滤波器组生成Mel频谱。
(3) 接着对Mel频谱做对数能量处理, 得到对数频谱S (m) 。图2所列即为得到的线性能量谱, Mel能量谱和对数能量谱。
最后, 将S (m) 通过离散余弦变换 (DCT) 获得倒谱频域, 即Mel频谱倒谱系数 (MFCC参数) :
摘要:提取特征参数在说话人识别系统内是非常重要的步骤, 说话人语音的很多特有个性信息包含于特征参数内, 例如发声特征或者语义特征, 利用特征提取的方法一方面可以去掉声音里没用的冗余信息, 剩下有用的体现说话人个性不同的特征信息, 特别是可以有效减少计算量、模板数目以及存储空间。选用的特征参数的会直接关系到整个系统的工作性能, 良好的特征参数需要拥有好的稳定性和好的独立性, 一方面可以不受到外界情况的干扰, 不容易为其他的声音所替代, 另一方面, 能够较好的辨别不同说话人, 说明说话人之间的差异。
关键词:特征参数,倒谱系数,LPCC,MFCC
参考文献
[1]M.Chetouani, M.Faundez-Zanuy, B.Gas, and JL.Zarader.Investigation on LP-residual representation for speaker identification, Pattern Recognition.2009, 3 (42) :487-494.
[2]林琳, 王树勋, 郭刚.短语音说话人识别新方法的研究.系统仿真学报, 2007, 19 (10) :2272-2275.
MFCC 篇4
朱鹮是我国国家一级重点保护野生动物, 属于濒危的珍稀鸟类, 中国、前苏联、日本和朝鲜半岛都曾是其栖居地[1]。但是由于对朱鹮的捕猎、生态环境的变换等原因, 朱鹮的野生种群数量在这些地方急剧下降, 到了20世纪70年代野外已找不到野生朱鹮的踪迹。我国也曾经在20多年中没有野生朱鹮的记录, 直到1981年在陕西省洋县重新发现了7只野生朱鹮[2]。
近年来, 许多国内外的学者对朱鹮的种群结构、遗传基因序列、栖息地、饲养繁殖等方面进行了分析研究, 但是对于朱鹮鸣声的研究相比而言比较少。鸟类鸣声是鸟类之间进行通讯的重要方式, 通过对朱鹮鸣声的分析可以了解朱鹮的鸣声与行为之间关系, 从而更好地保护朱鹮。本文采集了朱鹮鸣声, 通过改进MFCC算法对朱鹮鸣声进行特征提取, 得到了较好的结果。
1 MFCC算法
语音的特征参数一般分为时域特征参数和频域特征参数两类。MFCC参数属于频域特征参数, 也是目前较常用到的特征参数。它是基于人耳的听觉模型, 从而对语音参数进行提取, MFCC参数可以很好地反应出人耳的感知特性, 与线性频率的近似的对应关系是[3]:
MFCC参数的提取流程如图1所示。
传统的MFCC参数提取过程如下:
(1) 预加重, 提升信号的高频部分, 滤除相应的干扰信息, 预加重通过数字滤波器来实现:
(5) 对所有的功率值参数取对数能量, 计算公式如下:
(6) 对取对数能量后的结果做离散余弦变换 (DCT) 即可得到MFCC参数。
2 朱鹮鸣声的特征提取
MFCC参数可以很好地表现出语音信号的谱包络特征, 但是由于有时基音频率可能造成同一段语音信号在训练时和测试时提取特征参数不同, 所以还要考虑基音频率对系统的影响。
所以在朱鹮鸣声信号进行提取时, 不直接对鸣声信号的幅度谱提取MFCC参数, 为了降低基音频率的影响, 先对鸣声信号的幅度谱进行平滑, 得到谱包络的近似表示, 在此基础之上再提取MFCC参数。
同时在通过Mel滤波器组时, 传统的Mel尺度滤波器的输出如图2所示。
可以看出在低频区域滤波器分布密集, 通带带宽狭窄;而在高频区域的滤波器分布细疏, 通带带宽较大, 又由于朱鹮鸣声频域特征为总体频率范围较广、频带较宽、没有固定主频, 频谱表现为一个包络的特点, 会使得朱鹮鸣声在低频区域会有很好的计算精度, 但是在高频区域的频谱信息会被弱化。所以在通过Mel滤波器组时采用MFCC、IMFCC、Mid MFCC相结合的算法对鸣声参数进行提取。其中IMFCC参数是Sandipan在2007年提出的, 它与线性频率的对应关系为[4]:
其中, a为预加重系数, 本文取a为0.97。
(2) 对语音进行分帧加窗, 每帧长度在10ms~30ms, 窗函数选用汉明窗:
其中, N为窗口长度。
(3) 对语音信号进行快速傅里叶变换, 计算语音信号的离散功率谱X (k) 。
(4) 将语音信号的离散功率谱X (k) 通过Mel三角滤波器, 求得功率值参数m1, m2, …。滤波器的传递函数为:
其中, 4000为滤波器的高通截止频率, 它的滤波器组刚好是MFCC参数滤波器组的倒置, 可以提高在高频区域的计算精度。而Mid MFCC参数对于朱鹮鸣声的中频区域会有很好的表现, 它是一个分段函数, 与线性频率的对应关系为[5]:
这样朱鹮鸣声信号在低中高区域都有相应的滤波器与之对应。
改进后的MFCC参数提取流程如下:
(1) 在对朱鹮鸣声进行预加重、加窗分帧的预处理后对朱鹮鸣声信号进行快速傅里叶变换求离散功率谱X (k) 。
(2) 对朱鹮鸣声信号的离散功率谱X (k) 进行平滑, 得到平滑谱Y (k) , 滑动平均滤波器w (l) 为:
(3) 求鸣声信号的原始幅度谱X (k) 与信号的平滑谱Y (k) 对应频点的最大值, 得到Z (k) , 即Z (k) =max (X[k], Y[k]) 。
(4) 重复n次步骤 (2) - (3) , 得到朱鹮鸣声信号谱包络的估计Z (k) , 本文取n值为5。
(5) 将Z (k) 通过MFCC、IMFCC、Mid MFCC相结合混合滤波器组, 得到功率值参数。
(6) 对其结果取对数能量, 再通过离散余弦变换得到朱鹮鸣声信号的MFCC参数。
3 实验结果
对采集到的朱鹮鸣声进行预处理之后, 对鸣声进行特征提取, 图3为对朱鹮鸣声信号进行预加重之前和预加重之后的对比图, 图4为对朱鹮鸣声信号进行MFCC特征提取的结果。
图图44 MMFFCCCC提提取取结结果果
5 结束语
MFCC特征参数能在语音识别中可以较好地模拟出人耳听觉系统的感知能力, 对低频语音信号有着很好的计算精度, 但相对于中高频信号的计算精度不高。结合朱鹮鸣声的特征对其幅度谱进行平滑后, 采用IMFCC, Mid MFCC, MFCC相结合的算法, 对鸣声信号进行特征提取。实验结果表明, 该算法对朱鹮鸣声进行特征提取起到了很好的效果。
参考文献
[1]丁长青, 李峰.朱鹮的保护与研究[J].动物学杂志, 2005, 40 (6) :54-62.
[2]刘荫增.朱鹮在秦岭的重新发现[J].动物学报, 1981, 27 (3) :273.
[3]刘雅琴, 智爱娟.几种语音识别特征参数的研究[J].计算机技术与发展, 2009, 12 (2) :67-69.
[4]Sandipan C, Anindya R, Sourav M.Capturing complementary information via reversed filter bank and parallel implementation with MFCC for improved text-independent speaker identification[C].IEEE International Conference on Computing:Theory and Application, India, 2007:463-467.
【MFCC】推荐阅读: