一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于共振峰分布的改进MFCC参数语音识别算法

2022-09-01 03:14:09 来源:中国专利 TAG:

一种基于共振峰分布的改进mfcc参数语音识别算法
技术领域
1.本发明涉及语音识别处理技术领域,特别是一种基于共振峰分布的改进 mfcc参数语音识别算法。


背景技术:

2.语音是人类交流重要的信息手段,随着社会科技的发展,语音识别的效率和准确性受到越来越多的关注,语音识别技术发展的历史已有半个多世纪,伴随计算机技术的发展,语音识别有了重大突破,动态时间规整技术基本成熟,使得语音可以变长,同时,矢量量化和隐马尔可夫模型理论也为之后的语音识别发展做了铺垫,然而目前语音识别发展遇到的主要问题有语音的模糊性,说话人再说话时,不同词听起来时相似的且语音特性受到上下文的影响,导致重音、音调、发音速度会有所改变,同时环境噪声的干扰也对语音识别有严重影响,极大地降低了识别率。
3.声学特征的提取与选择时语音识别的一个重要环节,常用的时域特征参数有幅度特征、短时帧平均能量等,但无论从稳定性还是区分能力表现来看都没有频域特征参数好,常用的频域特征参数有基音周期、共振频率峰、线性预测系数、倒谱系数等等,目前最常用的特征参数时基于人耳听觉模型的梅尔倒谱系数,然后梅尔倒谱系数的计算常常受到采样方式、梅尔滤波器组个数和形状、以及噪声的影响,因此,现在常常通过研究不同的采样方式、梅尔滤波器组的滤波器形状、滤波器的间隔以及融合其他特征参数的方式对梅尔倒谱系数进行改进以提高识别率。
4.因此,提出一种基于共振峰分布的改进mfcc参数语音识别算法来提高语音识别率。


技术实现要素:

5.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
6.鉴于上述和/或现有的语音识别设计中存在的问题,提出了本发明。
7.因此,本发明其中的一个目的是提供一种基于共振峰分布的改进mfcc参数语音识别算法,其通过熵权法对各频率区间求得权重系数(以三种方法分别求取的共振峰频率个数为标准),提取共振峰频率特征得到的权重系数与多通道梅尔滤波器组对应频率区间通道输出之间的乘积,从而能够实现较高的语音识别率。
8.为解决上述技术问题,本发明提供如下技术方案:一种基于共振峰分布的改进mfcc参数语音识别算法,包括分割语音频谱得到不同频谱区间,利用线性预测法和倒谱法分别估算一帧语音的共振峰频率分布;统计不同频谱区间上共振峰频率分布,依据共振峰在不同频谱区间上的分布,利用熵权法求取各个区间在一帧语音音频上的权重;进一步计算mfcc参数,依据mel频率和实际频率的关系,找到mfcc参数对应的区间权重,进行乘积得
到改进的mfcc参数;将所述改进的mfcc参数带入vq语音识别模型的训练集和测试集,以得到语音识别结果。
9.作为本发明所述的一种优选方案,其中:所述分割语音频谱得到不同频谱区间包括:根据人类语音信号频率特征,将300~3400hz均匀划分为10频率区间。
10.作为本发明所述的一种优选方案,其中:所述利用线性预测法和倒谱法分别估算一帧语音的共振峰频率分布包括:采用倒谱法、线性预测法估算共振峰频率在n个频率区间的分布情况,整合估算得到的共振峰频率分布,所述线性预测法包括线性预测求根法以及线性预测内插法。
11.作为本发明所述的一种优选方案,其中:所述采用倒谱法、线性预测法估算共振峰频率在n个频率区间的分布情况包括:根据语音信号计算唯一一组线性预测系数,建立声道全极模型,对模型求取极点得到共轭复根,按照共轭复根和共振峰频率的关系计算得到共振峰频率;用抛物线内插的方法计算出共振峰频率;对所述语音信号进行傅里叶变换后求取对数,再进行倒谱变换,对变换后序列加窗得到包络线,所述包络线的极大值即为求取的共振峰。
12.作为本发明所述的一种优选方案,其中:所述声道全极模型的表达式为:
[0013][0014]
其中,g为增益,a(z)为逆滤波器,ai为线性预测系数。
[0015]
作为本发明所述的一种优选方案,其中:所述对模型求取极点得到共轭复根,按照共轭复根和共振峰频率的关系计算得到共振峰频率包括:对模型求取极点得到共轭复根:共振峰频率fi=θi/(2πt);3db带宽 bi=-lnri/πt。
[0016]
作为本发明所述的一种优选方案,其中:所述用抛物线内插的方法计算出共振峰频率包括:把频率轴的零点移动到m处,即局峰值频率mδf为0,且以等间隔频率δf给出功率谱值,对应于-δf、0、δf处的功率谱值分别为p(m
‑ꢀ
1)、p(m)、p(m 1),按式p=aλ2 bλ c,列出方程组求解参数,然后求解抛物线的极大值得到共振峰。
[0017]
作为本发明所述的一种优选方案,其中:所述对所述语音信号进行傅里叶变换后求取对数,再进行倒谱变换,对变换后序列加窗得到包络线,所述包络线的极大值即为求取的共振峰包括:对语音信号xi(n)进行傅里叶变换得到 xi(k),对xi(k)取幅值后再取对数得到进行倒谱变换得到倒谱序列,对序列加上矩形窗得到包络线,从而得到包络线极大值。
[0018]
作为本发明所述的一种优选方案,其中:所述利用熵权法求取各个区间在一帧语音音频上的权重包括:统计线性预测法和倒谱法求得的语音频谱上的共振峰分布情况,依据共振峰分布即共振峰再各频率区间上的个数对不同区间求取权重,设x为共振峰的个数,那么第j个频率区间中线性预测求根法、线性预测内插法以及倒谱法求得的共振峰频率个数占该区间的比重为:
[0019][0020]
其中,x
ij
为第i种方法(i=1为线性预测求根法、i=2为线性预测内插法、 i=3为
倒谱法)在第j个频率区间种求得的共振峰个数;
[0021]
第j列(区间)的熵值为:
[0022][0023]
其中,ρ
ij
为不同方法求得的共振峰个数在各频率区间的比重;
[0024]
第j列(区间)的差异系数:
[0025]dj
=1-ej[0026]
其中,ej为各频率区间的熵值;
[0027]
第j列(区间)的权重:
[0028][0029]
其中,dj为各频率区间的权重。
[0030]
作为本发明所述的一种优选方案,其中:所述进行乘积得到改进的mfcc 参数包括:将实际频率转换为mel频率,在mel频率轴上配置多通道三角形滤波器,根据语音信号幅度谱求每一个三角形滤波器的输出,对滤波器输出先做对数运算,再进行离散余弦变换得到mfcc参数,依据mel频率和实际频率的关系,找到mfcc参数对应的频率区间的权重,mfcc参数和权重的成绩即为改进的mfcc参数,所述改进的mfcc参数的表达式为:
[0031]
mfccr(i)=mfcc(i)
×
ωj[0032]
其中,mfcc(i)是第i个梅尔滤波器组通道输出对应的mfcc参数,ωj为各频率区间对应的权重系数。
[0033]
本发明的有益效果:本发明通过熵权法对各频率区间求得权重系数(以三种方法分别求取的共振峰频率个数为标准),提取共振峰频率特征得到的权重系数与多通道梅尔滤波器组对应频率区间通道输出之间的乘积,从而可以得到改进的mfcc参数,较之传统的mfcc参数更加灵活,能够实现较高的语音识别率,同时还可以解决mfcc参数性能会受到的滤波器数量、滤波器形状、滤波器的间隔、重叠或者不重叠等因素的影响,体现了该算法的鲁棒性。
附图说明
[0034]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0035]
图1为本发明共振峰分布的改进mfcc参数语音识别算法流程图。
具体实施方式
[0036]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。
[0037]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的
情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0038]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0039]
实施例1
[0040]
参照图1,该实施例提供了一种基于共振峰分布的改进mfcc参数语音识别算法,包括:
[0041]
s1、分割语音频谱得到不同频谱区间,利用线性预测法和倒谱法分别估算一帧语音的共振峰频率分布。
[0042]
s11、分割语音频谱得到不同频谱区间包括:根据人类语音信号频率特征,将300~3400hz均匀划分为10率区间;
[0043]
s12、利用线性预测法和倒谱法分别估算一帧语音的共振峰频率分布包括:采用倒谱法、线性预测法估算共振峰频率在10率区间的分布情况,整合估算得到的共振峰频率分布,线性预测法包括线性预测求根法以及线性预测内插法;
[0044]
其中,采用倒谱法、线性预测法估算共振峰频率在10率区间的分布情况包括:
[0045]
s121、根据语音信号计算唯一一组线性预测系数,建立声道全极模型,对模型求取极点得到共轭复根,按照共轭复根和共振峰频率的关系计算得到共振峰频率:
[0046]
声道全极模型的表达式为:
[0047][0048]
其中,g为增益,a(z)为逆滤波器,ai为线性预测系数;
[0049]
对模型求取极点得到共轭复根,按照共轭复根和共振峰频率的关系计算得到共振峰频率包括:
[0050]
对模型求取极点得到共轭复根:
[0051]
共振峰频率fi=θi/(2πt);
[0052]
3db带宽bi=-lnri/πt;
[0053]
其中,t为采样周期。
[0054]
s122、用抛物线内插的方法计算出共振峰频率:把频率轴的零点移动到m 处,即局峰值频率mδf为0,且以等间隔频率δf给出功率谱值,对应于-δf、0、δf 处的功率谱值分别为p(m-1)、p(m)、p(m 1),按式p=aλ2 bλ c,列出方程组求解参数,然后求解抛物线的极大值得到共振峰。
[0055]
s123、对语音信号进行傅里叶变换后求取对数,再进行倒谱变换,对变换后序列加窗得到包络线,包络线的极大值即为求取的共振峰:对语音信号xi(n)进行傅里叶变换得到xi(k),对xi(k)取幅值后再取对数得到进行倒谱变换得到倒谱序列,对序列加上矩形窗得到包络线,从而得到包络线极大值。
[0056]
s2、统计不同频谱区间上共振峰频率分布,依据共振峰在不同频谱区间上的分布,利用熵权法求取各个区间在一帧语音音频上的权重,统计线性预测法和倒谱法求得的语音频谱上的共振峰分布情况,依据共振峰分布即共振峰再各频率区间上的个数对不同区间求
取权重,设x为共振峰的个数,那么第j个频率区间中线性预测求根法、线性预测内插法以及倒谱法求得的共振峰频率个数占该区间的比重为:
[0057][0058]
其中,x
ij
为第i种方法(i=1为线性预测求根法、i=2为线性预测内插法、 i=3为倒谱法)在第j个频率区间种求得的共振峰个数;
[0059]
第j列(区间)的熵值为:
[0060][0061]
其中,ρ
ij
为不同方法求得的共振峰个数在各频率区间的比重;
[0062]
第j列(区间)的差异系数:
[0063]dj
=1-ej[0064]
其中,ej为各频率区间的熵值;
[0065]
第j列(区间)的权重:
[0066][0067]
其中,dj为各频率区间的权重。
[0068]
s3、进一步计算mfcc参数,依据mel频率和实际频率的关系,找到mfcc 参数对应的区间权重,进行乘积得到改进的mfcc参数,将实际频率转换为mel 频率,在mel频率轴上配置多通道三角形滤波器,根据语音信号幅度谱求每一个三角形滤波器的输出,对滤波器输出先做对数运算,再进行离散余弦变换得到 mfcc参数,依据mel频率和实际频率的关系,找到mfcc参数对应的频率区间的权重,mfcc参数和权重的成绩即为改进的mfcc参数,改进的mfcc参数的表达式为:
[0069]
mfccr(i)=mfcc(i)
×
ωj[0070]
其中,mfcc(i)是第i个梅尔滤波器组通道输出对应的mfcc参数,ωj为各频率区间对应的权重系数。
[0071]
s4、将改进的mfcc参数带入vq语音识别模型的训练集和测试集,以得到语音识别结果。
[0072]
语音识别的基础是语音信号特征参数的提取,语音特征参数分为时域特征(ru短时幅度、短时帧平均能量、短时过零率等)和频域特征(如共振峰频率、基音周期、线性预测系数、倒谱系数等)。实际工作中应用最为广泛的是基于声道全极模型的线性预测倒谱系数(lpcc参数)和更符合人耳听觉特性的mel频率倒谱系数(mfcc参数),在实际应用中,mfcc参数的性能可能受到滤波器数量、滤波器形状、滤波器的间隔、重叠或者不重叠等因素的影响,进而会影响语音识别效果,因此,该语音识别算法通过对语音频谱进行等距离的区间划分,利用不用方法进行一帧语音的共振峰估计,同时统计不同区间上共振峰的个数,以共振峰个数为标准,利用熵权法得到各区间在一帧频谱上的权重系数,同时求取该区间所对应的mfcc参数,用mfcc参数参数乘以对应的权重系数,得到一个新的特征参数,最后将参数带入vq识别模型中进行语音识别。
[0073]
人的语音信号频率在300-3400hz之间,本实施例中将300-3400hz划分为10 个区
间yj,j=1,2....,10,分别是300-600hz、600hz-900hz、900-1200hz、1200
‑ꢀ
1500hz、1500-1800hz、1800-2100hz、2100-2400hz、2400-2700hz、2700hz-3000hz、 3000-3400hz,同时为了保障计算出权值的准确性,采用倒谱法、线性预测求根法以及线性预测内插法分别进行共振峰的估计。
[0074]

倒谱法估计共振峰频率:
[0075]
收到语音信号x(n),进行预加重、加窗和分帧,得到xi(n),下标i代表第i 帧,加窗分帧用到的窗函数为汉明窗,其窗函数为:
[0076][0077]
接着端点检测去掉语音中的静音成分,采用基于短时平均过零率和短时能量为特征参数的双门限算法,第i帧语音信号的短时平均过零率z(i)和短时能量 e(i)的公式为:
[0078][0079][0080]
其中,l为帧长,sgn()函数式如下:
[0081][0082]
对xi(n)进行傅里叶变换得到xi(k),对xi(k)取幅值后再取对数,得:
[0083][0084]
对进行倒谱变换,得到倒谱序列:
[0085][0086]
在倒频率轴上设置一个矩形窗滤波器,用窗函数和倒谱序列相乘,得:
[0087][0088]
对hi(k)进行傅里叶变换,得到xi(k)的包络线hi(k),在包络线上寻找极大值即可获取对应的共振峰频率。
[0089]

线性预测求根法估计共振峰频率原理:
[0090]
声道全极模型:
[0091][0092]
其中,g为增益,a(z)为逆滤波器,ai为线性预测系数;
[0093]
求取极点得到共轭复根:
[0094]
共振峰频率fi=θi/(2πt);
[0095]
3db带宽bi=-lnri/πt;
[0096]
其中,t为采样周期。
[0097]

线性预测内插法估计共振峰频率:
[0098]
对于任何一个共振峰都可以用抛物线内插的方法更精确的计算出共振峰频率和它的带宽。为了方便计算,把频率轴的零点移动到m处,即局峰值频率mδf 为零,且以等间隔频率δf给出功率谱值。对应于-δf,0,δf处的功率谱值分别为p(m-1)、p(m)、p(m 1),按式p=aλ2 bλ c,列出以下方程组:
[0099]
p(m-1)=aδf
2-bδf c
[0100]
p(m)=c
[0101]
p(m 1)=aδf2 bδf c
[0102]
假设δf=1,那么:
[0103][0104][0105]
c=p(m)
[0106]
通过求导求极大值:
[0107][0108]
解得:λ
p
=-b/2a。
[0109]
考虑到实际间隔频率δf,那么该共振峰的中心频率fi为:
[0110][0111]
利用不同方法计算完一帧语音的共振峰频率个数后,统计10个区间内共振峰个数,然后利用熵权法确定每个区间的权值,显而易见,每个区间内的共振峰个数是正向指标,设x为共振峰的个数,那么,第j个区间下3个不同方法对应的第i个样值i=1,2,3占该区间的比重为:
[0112][0113]
那么,第j列(区间)的熵值为:
[0114][0115]
其中,
[0116]
第j列(区间)的差异系数:
[0117]dj
=1-ej[0118]
其中,ej为各频率区间的熵值;
[0119]
第j列(区间)的权重:
[0120][0121]
对于mfcc参数的计算:
[0122]
首先进行预处理操作,端点检测去掉语音中的静音成分,接着进行加窗分帧操作,这里与共振峰估计预处理类似采用汉明窗,mel频率尺度和实际频率的具体关系是:h(l)
[0123][0124]
其中,f为实际频率。
[0125]
在mel频率轴上配置l个通道三角形滤波器序列(l的个数由信号截至频率而定),称为为mel滤波器组,如附图1所示。每个三角形滤波器的中心频率c(l) 在mel频率轴上等间隔分配。设o(l)、c(l)、h(l)分别是第l个滤波器的下限、中心和上限频率,同时下限、中心和上限频率满足以下关系:
[0126]
c(l)=h(l-1)=o(l 1)
[0127]
根据语音幅度谱|xn(k)|求每个三角形滤波器的输出:
[0128][0129][0130]
最后对所有的滤波器输出进行对数运算,进一步做离散余弦变换得到mfcc 参数:
[0131][0132]
利用mel频率尺度和实际频率的关系,可以找到不同mfcc参数对应的频率区间,再利用mfcc参数和对应的区间权重进行乘积得到改进的mfcc参数,最后代入vq识别模型的训练集和测试集得到识别结果。
[0133]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献