本发明涉及信号处理领域,尤其是一种语音信号的喉声和气声识别与分离方法及系统。
背景技术:
语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段,也是人类进行思维的一种依托。人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储和获取语音信息,这对于促进社会的发展具有十分重要的意义。最近几十年,对语音的研究使科学家和工程师们走到一起,从而形成了一门重要的学科:语音信号处理。语音信号处理技术简称语音处理,它与语言学、语音学、心理学、声学、计算机学以及人工智能等学科都有着紧密的联系,极大地推动了社会的科技进步,我们可以用自动语音识别技术,使手写文稿和手工打印文本变成自动听写机操作;把人工查阅各种书面文字资料的操作变为口呼自动查阅各种各样的数据库;可以采用语音合成技术,将存储的语音或文字资料转化为语音高质量的回放,甚至自动翻译成另一种语言的语音回放或进行文字显示。总而言之,语音信号处理技术的研究对于信息化社会的发展具有极其重要的意义。
由于语音中喉咙部分发出的震动声音(简称喉声)和唇齿部分发出的气声(简称气声)有明显不同的特性,所以在进行音频压缩等后续操作时,需要分别对喉声和气声进行单独的处理。但目前尚未能将喉声和气声从语音信号中分离出来,如何识别并分离语音信号中的喉声和气声就成了业内亟需解决的技术难题。
技术实现要素:
为解决上述技术问题,本发明的目的在于:提供一种语音信号的喉声和气声识别与分离方法。
本发明的另一目的在于:提供一种语音信号的喉声和气声识别与分离系统。
本发明所采取的技术方案是:
一种语音信号的喉声和气声识别与分离方法,包括以下步骤:
获取单峰测试掩模函数和还原掩模函数;
对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱;
测定各窗信号经傅里叶变换后的幅值谱的基频;
根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值;
根据计算的幅值峰值得到喉声分量的包络;
根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱;
根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱;
根据气声分量的幅值谱得到气声分量的包络。
进一步,所述获取单峰测试掩模函数和还原掩模函数这一步骤,具体包括:
计算出使用标准差为σ的正态分布窗函数时对应的频域响应特性掩模参数η,进而确定掩模模板函数l(x,ω,σ),其中,
根据掩模模板函数l(x,ω,σ)得到单峰测试掩模函数和还原掩模函数,所述单峰测试掩模函数vk(j,fi,σ)和还原掩模函数uk(j,fi,σ)的表达式分别为:
其中,s是采样率,fi为傅里叶变换后的幅值谱中第i窗的基频,c为快速傅里叶变换的窗口长度,j为表示掩模模板函数l(c-1sj,2kπfi,σ)对应于傅里叶变换后的幅值谱中的第j个频率分量,k代表傅里叶变换后的幅值谱的k倍基频,
进一步,所述对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱这一步骤,具体包括:
输入语音信号;
将输入的语音信号的第i窗乘正态分布窗函数,得到乘窗后信号;
对乘窗后信号进行快速傅里叶变换,得到傅里叶变换后的幅值谱
进一步,所述根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值这一步骤,具体为:
将单峰测试掩模函数与傅里叶变换后的幅值谱进行点积运算,得到傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值,所述傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值计算公式为:
其中,
进一步,所述根据计算的幅值峰值得到喉声分量的包络这一步骤,具体为:
对计算的幅值峰值进行曲线拟合,得到喉声分量的包络,其中,曲线拟合的方法包括分段的多项式拟合方法。
进一步,所述根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱这一步骤,具体为:
根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱,所述喉声分量的幅值谱计算公式为:
其中,
进一步,所述根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱这一步骤,具体为:
根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱,所述气声分量的幅值谱计算公式为:
其中,
进一步,所述根据气声分量的幅值谱得到气声分量的包络这一步骤,具体为:
对气声分量的幅值谱
本发明所采取的另一技术方案是:
一种语音信号的喉声和气声识别与分离系统,包括:
掩模函数获取模块,用于获取单峰测试掩模函数和还原掩模函数;
叠窗快速傅里叶变换模块,用于对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱;
基频测定模块,用于测定各窗信号经傅里叶变换后的幅值谱的基频;
幅值峰值计算模块,用于根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值;
喉声分量包络计算模块,用于根据计算的幅值峰值得到喉声分量的包络;
喉声分量幅值谱计算模块,用于根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱;
气声分量幅值谱计算模块,用于根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱;
气声分量包络计算模块,用于根据气声分量的幅值谱得到气声分量的包络。
进一步,所述掩模函数获取模块包括:
掩模模板函数确定单元,用于计算出使用标准差为σ的正态分布窗函数时对应的频域响应特性掩模参数η,进而确定掩模模板函数l(x,ω,σ),其中,
单峰测试掩模函数和还原掩模函数获取单元,用于根据掩模模板函数l(x,ω,σ)得到单峰测试掩模函数和还原掩模函数,所述单峰测试掩模函数vk(j,fi,σ)和还原掩模函数uk(j,fi,σ)的表达式分别为:
其中,s是采样率,fi为傅里叶变换后的幅值谱中第i窗的基频,c为快速傅里叶变换的窗口长度,j为表示掩模模板函数l(c-1sj,2kπfi,σ)对应于傅里叶变换后的幅值谱中的第j个频率分量,k代表傅里叶变换后的幅值谱的k倍基频,
本发明的方法的有益效果是:引入了单峰测试掩模函数和还原掩模函数,先根据单峰测试掩模函数和基频确定幅值谱在正整数倍基频处的幅值峰值,再结合还原掩模函数计算出喉声分量的幅值谱,最后根据总幅值谱和喉声分量的幅值谱得出气声分量的幅值谱,能将喉声和气声从语音信号中识别并分离出来,有利于后续对语音信号进行压缩、识别、修饰、降噪以及优化等处理操作。
本发明的系统的有益效果是:在掩模函数获取模块中引入了单峰测试掩模函数和还原掩模函数,先在幅值峰值计算模块中根据单峰测试掩模函数和基频确定幅值谱在正整数倍基频处的幅值峰值,再在喉声分量幅值谱计算模块中结合还原掩模函数计算出喉声分量的幅值谱,最后在气声分量幅值谱计算模块中根据总幅值谱和喉声分量的幅值谱得出气声分量的幅值谱,能将喉声和气声从语音信号中识别并分离出来,有利于后续对语音信号进行压缩、识别、修饰、降噪以及优化等处理操作。
附图说明
图1为本发明一种语音信号的喉声和气声识别与分离方法的流程图;
图2为本发明一种语音信号的喉声和气声识别与分离系统的结构框图;
图3为本发明实施例一的流程图;
图4为本发明实施例一语音信号e的正弦分量d波形图;
图5为本发明实施例一的标准正态分布窗函数示意图;
图6为本发明实施例一的乘窗后信号示意图;
图7为本发明实施例一掩模模板函数示意图;
图8为本发明实施例一输入语音信号对应的幅值谱的喉声分量向量和气声分量向量关系示意图。
具体实施方式
参照图1,一种语音信号的喉声和气声识别与分离方法,包括以下步骤:
获取单峰测试掩模函数和还原掩模函数;
对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱;
测定各窗信号经傅里叶变换后的幅值谱的基频;
根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值;
根据计算的幅值峰值得到喉声分量的包络;
根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱;
根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱;
根据气声分量的幅值谱得到气声分量的包络。
其中,喉声分量的包络包含了喉声分量的幅度信息,气声分量的包络包含了气声分量的幅度信息,便于对语音信号后续进行压缩、包络检波等操作。
叠窗快速傅里叶变换需要对输入的语音信号叠窗处理,得到各窗信号,再经快速傅里叶变换得到相应的幅值谱。所以各窗信号是指输入的语音信号的各窗,各窗信号经傅里叶变换后的幅值谱即为输入的语音信号经叠窗快速傅里叶变换得到的幅值谱。
进一步作为优选的实施方式,所述获取单峰测试掩模函数和还原掩模函数这一步骤,具体包括:
计算出使用标准差为σ的正态分布窗函数时对应的频域响应特性掩模参数η,进而确定掩模模板函数l(x,ω,σ),其中,
根据掩模模板函数l(x,ω,σ)得到单峰测试掩模函数和还原掩模函数,所述单峰测试掩模函数vk(j,fi,σ)和还原掩模函数uk(j,fi,σ)的表达式分别为:
其中,s是采样率,fi为傅里叶变换后的幅值谱中第i窗的基频,c为快速傅里叶变换的窗口长度,j为表示掩模模板函数l(c-1sj,2kπfi,σ)对应于傅里叶变换后的幅值谱中的第j个频率分量,k代表傅里叶变换后的幅值谱的k倍基频,
本发明正态分布窗函数的标准差
进一步作为优选的实施方式,所述对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱这一步骤,具体包括:
输入语音信号;
将输入的语音信号的第i窗乘正态分布窗函数,得到乘窗后信号;
对乘窗后信号进行快速傅里叶变换,得到傅里叶变换后的幅值谱
其中,正态分布窗函数可采用标准的正态分布窗函数
进一步作为优选的实施方式,所述根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值这一步骤,具体为:
将单峰测试掩模函数与傅里叶变换后的幅值谱进行点积运算,得到傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值,所述傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值计算公式为:
其中,
进一步作为优选的实施方式,所述根据计算的幅值峰值得到喉声分量的包络这一步骤,具体为:
对计算的幅值峰值进行曲线拟合,得到喉声分量的包络,其中,曲线拟合的方法包括分段的多项式拟合方法。
进一步作为优选的实施方式,所述根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱这一步骤,具体为:
根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱,所述喉声分量的幅值谱计算公式为:
其中,
进一步作为优选的实施方式,所述根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱这一步骤,具体为:
根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱,所述气声分量的幅值谱计算公式为:
其中,
进一步作为优选的实施方式,所述根据气声分量的幅值谱得到气声分量的包络这一步骤,具体为:
对气声分量的幅值谱
参照图2,一种语音信号的喉声和气声识别与分离系统,包括:
掩模函数获取模块,用于获取单峰测试掩模函数和还原掩模函数;
叠窗快速傅里叶变换模块,用于对输入的语音信号进行叠窗快速傅里叶变换,得到傅里叶变换后的幅值谱;
基频测定模块,用于测定各窗信号经傅里叶变换后的幅值谱的基频;
幅值峰值计算模块,用于根据单峰测试掩模函数和测定的基频计算傅里叶变换后的幅值谱在正整数倍基频处的幅值峰值;
喉声分量包络计算模块,用于根据计算的幅值峰值得到喉声分量的包络;
喉声分量幅值谱计算模块,用于根据还原掩模函数和计算的幅值峰值计算喉声分量的幅值谱;
气声分量幅值谱计算模块,用于根据傅里叶变换后的幅值谱和喉声分量的幅值谱计算气声分量的幅值谱;
气声分量包络计算模块,用于根据气声分量的幅值谱得到气声分量的包络。
参照图2,进一步作为优选的实施方式,所述掩模函数获取模块包括:
掩模模板函数确定单元,用于计算出使用标准差为σ的正态分布窗函数时对应的频域响应特性掩模参数η,进而确定掩模模板函数l(x,ω,σ),其中,
单峰测试掩模函数和还原掩模函数获取单元,用于根据掩模模板函数l(x,ω,σ)得到单峰测试掩模函数和还原掩模函数,所述单峰测试掩模函数vk(j,fi,σ)和还原掩模函数uk(j,fi,σ)的表达式分别为:
其中,s是采样率,fi为傅里叶变换后的幅值谱中第i窗的基频,c为快速傅里叶变换的窗口长度,j为表示掩模模板函数l(c-1sj,2kπfi,σ)对应于傅里叶变换后的幅值谱中的第j个频率分量,k代表傅里叶变换后的幅值谱的k倍基频,
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。
实施例一
针对现有技术无法将喉声和气声从语音信号中分离出来的问题,本发明提出了一种新的语音信号的喉声和气声识别与分离方法。该方法将输入的语音信号在使用标准差为σ的正态分布函数乘窗后,再经傅里叶变换得到傅里叶变换后的幅值谱,并配合单峰测试掩模函数和还原掩模函数进行一系列的处理操作最终得到喉声分量的包络和气声分量的包络,有利于后续对语音的压缩、识别、修饰、降噪,优化等处理操作。
本发明的方法需要对输入的语音信号进行叠窗处理,每个窗的长度一样,都为c,其中
s1、计算出使用标准差为σ的正态分布窗时对应的频域响应特性掩模参数η,进而确定掩模模板函数l(x,ω,σ),并以此推得单峰测试掩模函数vk(j,fi,σ)和还原掩模函数uk(j,fi,σ);
s2、输入语音信号,经过叠窗fft变换(即叠窗快速傅里叶变换)后获得幅值谱
s3、测定各窗信号基频,记为fi;
s4、通过将vk(j,fi,σ)与
s5、通过对幅值峰值
s6、将峰值位置为k倍基频的uk(j,fi,σ)与
s7、计算出气声分量的幅值谱
s8、计算出气声分量的包络。
参照图4、图5、图6和图7,所述步骤s1可进一步细化为如下步骤:
s11、η=η(σ)的表达式为
为了满足
s12、假设存在语音信号e,d是e的正弦分量
s13、选取fft的标准正态分布窗函数为
s14、将步骤s12中的d和步骤s13中的w(t,σ)相乘,获得如图6所示的乘窗后信号,该乘窗后信号可表示为:
将式(1)记为
从上式(2)可知,当取定σ时,此频域的幅值仅会随ω的变化沿x轴产生平移和随着a的变换产生纵向的缩放,但其基本形状性质保持不变。因此可以将l(,ω,σ)作为掩模模板函数,用于表示一切幅值为a,角速度为ω的时域分量在频域上的表现。
s15、本发明通过l(x,ω,σ)可以推出单峰测试掩模函数vk(j,fi,σ),具体的推导过程如下:
本发明在计算时均假设喉声信号和气声信号是正交的关系(即喉声信号和气声信号之间是加性关系)。基于上述假设,正如图8所示,输入语音信号对应的幅值谱
点积运算后求峰值需要较大运算量,所以为减少运算量,可以构造单峰测试掩模函数vk(j,fi,σ),使得
综上,vk(j,fi,σ)的推算过程如下:
s151、将l(x,ω,σ)单位化,记为l1(x,ω,σ),其公式为:
s152、当x=ω/2π时,l1(x,ω,σ)取到最大值,即
s153、计算
s154、回算峰值,
s155、将步骤s153的
s156、将上式(l1(x,ω,σ)*max(l1(x,ω,σ)))提取出来,再根据频率和位置之间的转换关系以及角速度和整数倍基频之间的转换关系,将x=c-1sj和ω=2kπfi代入,可得到单峰测试掩模函数vk(j,fi,σ)=l1(c-1sj,2kπfi,σ)*max(l1(c-1sj,2kπfi,σ)));
s157、综上,vk(j,fi,σ)化简为:
s16、本方法通过l(x,ω,σ)还可以推出还原掩模函数uk(j,fi,σ),具体的推导过程如下:本发明在计算对应窗的喉声分量的幅值谱
综上所述,uk(j,fi,σ)的推算过程如下:
由步骤s14可知,l(x,ω,σ)的表达式如下:
当x=ω/2π时,l(x,ω,σ)取得最大值
再根据频率和位置之间的转换关系以及角速度和整数倍基频之间的转换关系,将x=c-1sj和ω=2kπfi代入,则uk(j,fi,σ)可表示为:
所述步骤s2,具体包括:
s21、将输入的语音信号的第i窗乘正态分布窗函数
fft使用的窗函数具有两头小,中间大的特点,且一般窗函数两头均接近0值,所以可以近似将fft的窗函数看作是使用了无穷长度的窗口和两边无穷趋近于0的窗函数。本方法选取的标准正态分布窗函数
s22、对乘窗后信号进行快速傅里叶变换(fft),得到傅里叶变换后的幅值谱
由于可以把窗口长度近似看作无穷,所以现在使用无穷长度窗口计算经快速傅里叶变换后的幅值谱,记频谱中的频率位置x对应的幅值为f(x),f(x)具体计算公式为:
为了简化计算,可通过将上式中的离散信号近似看作连续信号,从而将f()近似转化为积分形式,得到g(x):
当x>0时,解步骤g(x)中的积分,化简可得:
通过拆分上式中的g(x)可以看出,
从式(4)可知,当取定σ时,此函数仅会随ω的变化沿x轴产生平移和随着a的变换产生纵向的缩放,但其基本形状性质保持不变,因此可以将式(4)的l(x,ω,σ)作为掩模模板函数,用于表示一切幅值为a,角速度为ω的时域分量在频域上的表现。
所述步骤s3中,设γ为本方法中基频取值的下限,设λ为本方法中基频取值的上限,则本方法测定的基频fi∈[γ,λ]。
所述步骤s4,具体为:
通过将vk(j,fi,σ)与
而根据步骤s15,有:
联立以上两式,可推得:
所述步骤s5中的曲线拟合可为分段的多项式拟合。
所述步骤s6,具体为:
将峰值位置为k倍基频的uk(j,fi,σ)与
其中
而根据步骤s16,有:
联立以上两式,可推得:
所述步骤s8,具体为:
将气声分量的幅值谱
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。