本发明涉及一种语音增强方法,具体涉及一种基于语音存在概率和相位估计的语音增强方法,用于智能手机、助听器或智能家居中的音频设备以及人机交互中来提高语音信号的质量,属于信号处理技术领域。
背景技术:
环境噪声往往会降低语音处理系统的性能,为避免这种情况,通常用到语音增强技术。语音增强的目的是从带噪语音信号中提取尽可能纯净的原始语音信号,提高语音信号的质量或可懂度,进而提高语音处理系统的鲁棒性。语音增强是信号处理领域的重要研究方向,在语音识别、说话人识别、语音编码、助听器、空对地通信、人机对话、机器翻译和智能家居等领域发挥着越来越重要的作用。人机交互是目前研究的热点,许多著名公司近几年相继投入大量的人力财力研究语音识别和情感识别。但这些语音处理系统如果应用在噪声环境中尤其是非平稳噪声或低信噪比情况下,性能会显著下降。利用语音增强技术降低噪声的影响,提高语音系统的鲁棒性,是语音信号处理的关键步骤。
单通道语音增强算法利用从一个麦克风得到的带噪语音信号估计纯净语音信号,经过几十年的发展,已经有很多成功的方法。这些方法中的大多数是在频域实现的,比如谱减法、维纳滤波法、基于最小均方误差估计及软判决方法等。这些方法中大部分认为相位不重要,只对纯净语音幅度谱进行估计,重构信号时利用的是带噪语音相位。近年来研究表明,语音信号的相位包含重要的信息,可以提高语音增强算法的性能,但从带噪语音谱中直接估计纯净语音相位比较困难。
基于语音存在概率的软判决方法是语音处理系统中的重要技术,该方法根据求得的语音存在概率,在每一帧每个频带估计得到纯净语音幅度谱。但这类方法中语音存在的先验概率和语音不存在的先验概率的比值q是一固定值,或简单的通过一个特定参数与门限值的对比来推导与语音存在不确定性相关的语音不存在概率。这种方法会导致在不同的噪声环境中语音存在概率估计不准确,使得增强后的语音信号在幅度较小或清音部分产生失真,降低了语音增强系统的性能。而且,该类方法同样没有考虑相位问题,忽略了相位对纯净语音幅度谱的补偿作用,重构信号时无论清音信号还是浊音信号不加区分的利用带噪语音相位。
技术实现要素:
本发明要解决的技术问题是克服了现有基于语音存在概率的语音增强方法中语音存在概率估计不准确,而且没有充分利用相位信息而导致增强后语音信号质量不佳的问题。提供一种基于语音存在概率和相位估计的语音增强方法。
为解决上述技术问题,本发明提出一种语音增强方法,用来提高增强后语音信号的质量。
本发明设计一种基于语音存在概率和相位估计的语音增强方法,通过多元线性回归技术估计q值,提高语音存在概率估计的准确性;利用短时傅里叶变换域的谐波模型,在相邻频带间估计纯净浊音相位;结合相位差对纯净语音幅度谱进行估计,充分利用相位对纯净语音幅度谱的补偿作用;
一种基于语音存在概率和相位估计的语音增强方法,其特征在于,包括以下步骤:
步骤一:估计语音存在概率;
步骤二:估计纯净浊音相位;
步骤三:估计纯净语音幅度谱;
步骤四:估计纯净语音信号。
步骤一中所述估计语音存在概率的具体步骤如下:
(1)通过对带噪语音信号进行分帧、加窗和短时傅里叶变换,得到短时傅里叶变换域的带噪语音谱;
(2)在短时傅里叶变换域进行语音不存在和存在的假设,根据纯净语音谱和噪声谱都服从复高斯分布的假设,得到语音不存在和存在两个假设条件下的带噪语音谱的条件概率密度函数;
(3)利用先验信噪比和后验信噪比得到似然比;
(4)利用多元线性回归方法估计语音存在的先验概率(aprioriprobabilityofspeechpresence)与语音不存在的先验概率(aprioriprobabilityofspeechabsence)的比值q;
(5)利用贝叶斯定理、似然比和估计的q值得到语音不存在概率;
(6)利用语音不存在概率得到语音存在概率。
技术方案中所述带噪语音谱是通过对带噪语音信号进行分帧、加窗和短时傅里叶变换,得到短时傅里叶变换域的带噪语音谱y(k,l)=s(k,l)+v(k,l),其中s(k,l)表示纯净语音谱,v(k,l)表示噪声谱,k为频带,l为帧序号;
所述语音不存在和存在的假设分别用h0表示语音不存在,h1表示语音存在,h0和h1两个假设公式表示如下:
h0:y(k,l)=v(k,l)
h1:y(k,l)=s(k,l)+v(k,l)
h0和h1这两个假设条件下的带噪语音谱的条件概率密度函数分别表示为:
上述公式中
所述似然比为第k个频带的似然比λ(k,l),第k个频带的似然比λ(k,l)公式为:
上述公式中
所述先验信噪比ξ(k,l)是利用直接判决法进行估计的,如下所示:
公式中αdd为常数,
所述比值q=p(h1)/p(h0);
所述语音不存在概率表示为:
p(h1)表示语音存在的先验概率,p(h0)=1-p(h1)表示语音不存在的先验概率;
所述语音不存在概率表示为p(h0|y(k,l));语音存在概率表示为p(h1|y(k,l));
所述利用语音不存在概率得到语音存在概率,是指利用p(h1|y(k,l)=1-p(h0|y(k,l)),得到语音存在概率。
技术方案中所述利用多元线性回归方法估计q值,方法如下所示:
qi=β0+β1ξi+β2sri+εi
公式中β0、β1和β2分别为常数的回归系数,ξi和sri为变量,εi为误差;
所述回归系数是通过最小二乘法估计得到的,表示成向量和矩阵的形式为:
公式中
最后估计得到的q值为:
式中
步骤二中所述估计纯净浊音相位的具体步骤如下:
(1)利用q=1时得到的语音存在概率进行清浊音判别,然后利用自相关法估计浊音帧的基音频率。
(2)利用基音频率、谐波表示形式得到纯净浊音信号的时域语音模型;
(3)把纯净浊音信号的时域语音模型利用短时傅里叶变换变换到短时傅里叶变换域,得到短时傅里叶变换域的谐波模型;
(4)对窗函数的统一表达式进行短时傅里叶变换,得到谐波频带内窗函数相位;
(5)利用短时傅里叶变换域的谐波模型得到频带相位,利用带噪语音相位和窗函数相位在相邻频带间估计纯净浊音相位。
技术方案中所述纯净浊音信号的时域语音模型为
公式中h为谐波数,2ah为幅度,
所述把纯净浊音信号的时域语音模型变换到短时傅里叶变换域的公式表示如下:
上述公式中w(n)为窗函数,l为窗移;设
设谐波幅度为
公式中φs(k,l)为频带k的相位,
技术方案中所述窗函数选用矩形窗、汉宁窗或汉明窗,三种窗函数时域表示成统一的形式为:
当a=1时为矩形窗,a=0.5时为汉宁窗,a=0.54时为汉明窗;
式中
窗函数的短时傅里叶变换为:
设第l帧包括谐波的频带为k',得到窗函数相位
所述利用短时傅里叶变换域的谐波模型得到频带相位,利用带噪语音相位和窗函数相位在相邻频带间估计纯净浊音相位的具体步骤如下:
1)利用短时傅里叶变换域的谐波模型得到频带相位的表达式:
公式中princ表示某种映射,使相位的范围在[-π,+π]之间;
2)从上述步骤1)公式得出频带相位与谐波相位、窗函数相位之间的关系,在相邻频带间估计窗函数相位:
设第l帧包括谐波的频带为k',在相邻频带k'+i之间计算
3)在相邻频带间估计纯净浊音相位,如下所示:
利用带噪语音谱得到带噪语音相位φy(k'),公式中φs(k')=φy(k'),利用步骤二(4)得到窗函数相位
步骤三中所述估计纯净语音幅度谱的具体步骤如下:
(1)把带噪语音谱表示成极坐标的形式,得到带噪语音幅度谱和带噪语音相位、纯净语音幅度谱和纯净语音相位以及噪声幅度谱和噪声相位;
(2)假设噪声谱的实部和虚部是相互独立的并都服从高斯分布,经极坐标转换以后,得到给定纯净语音幅度谱条件下的带噪语音幅度谱的概率密度函数;
(3)假设纯净语音幅度谱服从χ分布,得到纯净语音幅度谱的概率密度函数;
(4)假设纯净语音幅度谱和相位是相互独立的,利用最小均方误差估计和贝叶斯定理,以及带噪语音幅度谱的条件概率密度函数和纯净语音幅度谱的概率密度函数,通过积分运算得到结合相位差的纯净语音幅度谱;
(5)结合相位差的纯净语音幅度谱与步骤一估计得到的语音存在概率相结合,得到纯净语音幅度谱。
技术方案中所述的把带噪语音谱表示成极坐标的形式,是指把y(k,l)=s(k,l)+v(k,l)表示成极坐标的形式:
其中r(k,l)、φy(k,l)分别表示带噪语音幅度谱和带噪语音相位,a(k,l)、φs(k,l)分别表示纯净语音幅度谱和纯净语音相位,b(k,l)、φv(k,l)分别表示噪声幅度谱和噪声相位;
所述给定纯净语音幅度谱条件下的带噪语音幅度谱的概率密度函数为:
所述纯净语音幅度谱的概率密度函数为:
公式中μ为形状参数,γ(·)为伽玛函数。
所述纯净语音幅度谱的一般表达式为:
所述通过积分运算得到结合相位差的纯净语音幅度谱为:
公式中d.(ν)表示抛物柱面函数,
所述纯净语音幅度谱为:
式中:p(h1|y)为估计得到的语音存在概率,
步骤四中所述估计纯净语音信号的具体步骤如下:
1)重构得到纯净语音谱:根据清浊音判别的结果,浊音帧利用估计得到的纯净浊音相位,清音帧利用带噪语音相位,与估计得到的纯净语音幅度谱相结合,重构得到纯净语音谱:
当带噪语音信号为浊音帧时,
当带噪语音信号为清音帧时,
2)利用短时傅里叶逆变换和短时时域叠加法得到时域纯净语音信号,实现基于语音存在概率和相位估计的语音增强。
本发明的有益效果:
本发明方法是单通道语音增强方法,利用一个麦克风采集带噪语音信号,便于实施。该方法能很好地解决语音存在概率估计不准确的问题,而且充分利用浊音相位以及相位差对纯净语音幅度谱的补偿作用,从而提高语音增强方法的性能。
1、利用多元线性回归方法估计q值,使其随着不同的噪声环境和信噪比自适应的改变,提高语音存在概率估计的准确性,改善传统语音增强方法的性能。
2、对纯净浊音相位进行估计,提高低信噪比时增强后语音信号的质量。
3、利用相位差对纯净语音幅度谱的补偿作用,有效地去除噪声,提高方法性能,促进单通道语音增强方法的发展。
4、本发明方法性能与噪声功率谱估计和基音频率估计的准确性密切相关,如果能提高噪声功率谱估计和基音频率估计方法的性能,本发明方法的性能会进一步得到提高。
附图说明
图1是本发明所述基于语音存在概率和相位估计的语音增强方法原理图;
图2是babble噪声环境下语音信号时域波形对比图;
图3是babble噪声环境下语谱图对比图。
具体实施方式
基于语音存在概率和相位估计的语音增强方法原理如图1所示。该方法在短时傅里叶变换域实现。由于语音信号的短时平稳性,首先进行分帧、加窗,然后进行短时傅里叶变换,对带噪语音谱求模以后得到带噪语音幅度谱。利用带噪语音幅度谱估计语音存在概率,同时估计结合相位差的纯净语音幅度谱,然后利用这两个估计得到本项目的纯净语音幅度谱。利用q=1时得到的语音存在概率进行清浊音判别,然后利用带噪语音谱对浊音帧进行相位估计,重构信号时浊音帧利用估计得到的相位,清音帧利用带噪语音相位。最后通过短时傅里叶逆变换和短时时域叠加法得到增强后的时域语音信号。
估计语音存在概率在短时傅里叶变换域进行两个假设,h0表示语音不存在,h1表示语音存在。假设纯净语音谱和噪声谱都服从复高斯分布,根据两个假设条件下的概率密度函数和贝叶斯定理推导出语音不存在概率的表达式。语音不存在概率与语音存在的先验概率和语音不存在的先验概率的比值q有关。本发明利用多元线性回归方法估计q值,使其能够根据不同噪声、不同信噪比进行自适应变化。该方法涉及两个变量:先验信噪比ξ和sr,sr是带噪语音谱的局部能量与最小值的比值,这两个变量与q值高度相关,可以作为独立变量预测q值。利用多元线性回归方法和最小二乘法预测线性回归系数,估计得到q值,然后得到语音不存在概率,进而得到语音存在概率。
利用q=1时得到的语音存在概率进行清浊音判别,然后利用带噪语音谱对浊音帧进行相位估计,清音帧仍然利用带噪语音相位。
假设噪声谱的实部和虚部相互独立并服从高斯分布,经极坐标转换以后,得到给定语音谱条件下的带噪语音谱的条件概率密度函数。假设纯净语音幅度谱服从χ分布,并且纯净语音幅度谱和相位是相互独立的,利用贝叶斯定理以及最小均方误差估计,估计结合相位差的纯净语音幅度谱。
把估计得到的语音存在概率和结合相位差的纯净语音幅度谱结合在一起,得到本发明的纯净语音幅度谱。该方法对q值进行估计,提高了语音存在概率估计的准确性。同时结合相位差信息,充分利用相位对纯净语音幅度谱的补偿作用,提高了纯净语音幅度谱估计的准确性。
纯净语音信号取自timit语音库,噪声取自noise-92噪声库,纯净语音信号和噪声信号的采样频率都调整为16khz。在babble噪声环境下,信噪比为5db时,用matlab仿真软件进行仿真实验,实验步骤如下:
步骤一:估计语音存在概率,具体步骤如下:
1、对带噪语音信号进行分帧、加窗和短时傅里叶变换,得到短时傅里叶变换域的带噪语音谱y(k,l)=s(k,l)+v(k,l),其中k为频带,l为帧序号。实验中帧长为256点,50%帧重叠,加汉明窗,n=256点短时傅里叶变换。
2、在短时傅里叶变换域用h0和h1表示语音不存在和存在假设,如下所示:
h0:y(k,l)=v(k,l)
h1:y(k,l)=s(k,n)+v(k,l)
根据纯净语音谱和噪声谱都服从复高斯分布的假设,语音不存在和存在两个假设条件下的带噪语音谱的条件概率密度函数分别表示为:
上述公式中
3、第k个频带的似然比λ(k,l)公式为:
上述公式中
先验信噪比ξ(k,l)是利用直接判决法进行估计的,如下所示:
公式中αdd为常数,
4、利用多元线性回归方法估计q值,比值q=p(h1)/p(h0),p(h1)表示语音存在的先验概率,p(h0)=1-p(h1)表示语音不存在的先验概率。方法如下所示:
qi=β0+β1ξi+β2sri+εi
公式中β0、β1和β2分别为常数的回归系数,ξi和sri为变量,εi为误差;
所述回归系数是通过最小二乘法估计得到的,表示成向量和矩阵的形式为:
公式中
最后估计得到的q值为:
式中
5、利用贝叶斯定理、似然比和估计的q值,得到语音不存在概率:
6、概率利用p(h1|y(k,l)=1-p(h0|y(k,l)),得到语音存在概率。
步骤二:估计纯净浊音相位,具体步骤如下:
1、本发明利用q=1时得到的语音存在概率进行清浊音判别。由于语音存在概率是每一帧的每个频带都进行估计,而清浊音判决只需判别某一帧是否为浊音帧或清音帧,所以本发明把每一帧得到的语音存在概率的估计值求和,然后设定一个合理的门限值,高于此门限值为浊音帧,否则为清音帧。然后利用基于自相关的方法对浊音帧估计基音频率f0。
2、利用基音频率、谐波表示形式得到纯净浊音信号的时域语音模型为
公式中h为谐波数,2ah为幅度,
3、把纯净浊音信号的时域语音模型利用短时傅里叶变换变换到短时傅里叶变换域,得到短时傅里叶变换域的谐波模型为:
上述公式中w(n)为窗函数,l为窗移;设
公式中φs(k,l)为频带k的相位,
4、窗函数选用矩形窗、汉宁窗或汉明窗,三种窗函数时域表示成统一的形式为:
当a=1时为矩形窗,a=0.5时为汉宁窗,a=0.54时为汉明窗;
式中
窗函数的短时傅里叶变换为:
设第l帧包括谐波的频带为k',得到窗函数相位
5、利用短时傅里叶变换域的谐波模型得到频带相位,利用带噪语音相位和窗函数相位在相邻频带间估计纯净浊音相位的具体步骤如下:
1)利用短时傅里叶变换域的谐波模型得到频带相位的表达式:
公式中princ表示某种映射,使相位的范围在[-π,+π]之间;
2)从上述步骤1)公式得出频带相位与谐波相位、窗函数相位之间的关系,在相邻频带间估计窗函数相位:
设第l帧包括谐波的频带为k',在相邻频带k'+i之间计算
3)在相邻频带间估计纯净浊音相位,如下所示:
利用带噪语音谱得到带噪语音相位φy(k'),公式中φs(k')=φy(k'),利用步骤二(4)得到窗函数相位
步骤三:估计幅度谱,具体步骤如下:
1、把y(k,l)=s(k,l)+v(k,l)表示成极坐标的形式:
其中r(k,l)、φy(k,l)分别表示带噪语音幅度谱和带噪语音相位,a(k,l)、φs(k,l)分别表示纯净语音幅度谱和纯净语音相位,b(k,l)、φv(k,l)分别表示噪声幅度谱和噪声相位。
2、假设噪声谱的实部和虚部是相互独立的并都服从高斯分布,经极坐标转换以后,得到给定纯净语音幅度谱条件下的带噪语音幅度谱的概率密度函数:
3、假设纯净语音幅度谱服从χ分布,纯净语音幅度谱的概率密度函数为:
公式中μ为形状参数,γ(·)为伽玛函数。
4、假设纯净语音幅度谱和相位是相互独立的,利用最小均方误差估计和贝叶斯定理,以及带噪语音幅度谱的条件概率密度函数和纯净语音幅度谱的概率密度函数,通过积分运算得到结合相位差的纯净语音幅度谱为:
上述公式中d.(ν)表示抛物柱面函数,
5、结合相位差的纯净语音幅度谱与步骤一估计得到的语音存在概率相结合,得到纯净语音幅度谱为:
步骤四:估计纯净语音信号,具体步骤如下:
1、重构得到纯净语音谱:根据清浊音判别的结果,浊音帧利用估计得到的纯净浊音相位,清音帧利用带噪语音相位,与估计得到的纯净语音幅度谱相结合,重构得到纯净语音谱:
当带噪语音信号为浊音帧时,
当带噪语音信号为清音帧时,
2、利用短时傅里叶逆变换和短时时域叠加法得到时域纯净语音信号,实现基于语音存在概率和相位估计的语音增强。
本发明方法与结合相位差的语音增强方法进行对比。结合相位差语音增强方法是利用步骤三第4步估计得到结合相位差的纯净语音幅度谱,然后利用的带噪语音相位重构信号得到的语音增强方法,实验中φy-φs=0。时域波形图和语谱图如图2和图3所示。
图2从上到下依次为纯净语音信号、带噪语音信号、结合相位差语音增强方法增强后的语音信号和本发明语音增强方法增强后的语音信号,图3为对应的语谱图(babble噪声,信噪比为5db)。带噪语音信号、结合相位差语音增强方法和本发明方法得到的感知语音质量评价(perceptualevaluationofspeechquality,pesq)值分别为1.853、2.041和2.116,说明两种语音增强方法都对语音信号的质量有所改进,但本发明方法优于结合相位差语音增强方法。