本发明涉及语音处理领域,特别是涉及一种基于相位补偿的语音增强方法及系统。
背景技术
在许多情况下,如正常的语音通信,听力辅助和自动语音识别中,语音信号由于受到不同类型的背景噪声干扰会严重退化。因此,从退化语音中去除噪声成分一直是研究的主要目的。当前,大多数单通道语音增强方法是改变带噪语音的幅度谱实现语音增强的效果,而忽略相位谱的影响。这是因为早期的研究表明相位谱在信噪比较高的情况下感知效果不明显,因此,通过改变幅度谱实现语音增强是普遍的做法。
而最近研究发现相位谱中也包含了很多与语音可懂度相关的信息,这些信息对于语音增强起到一定的作用。现有的相位谱补偿算法中补偿因子固定,无法对含噪语音的相位谱进行灵活的补偿,导致语音增强效果差。
技术实现要素:
本发明的目的是提供一种基于相位补偿的语音增强方法及系统,以提高语音增强的效果。
为实现上述目的,本发明提供了如下方案:
一种基于相位补偿的语音增强方法,所述方法包括:
获取待处理的含噪语音信号;
对所述含噪语音信号进行短时傅里叶变换,进而获得所述含噪语音信号的幅度谱和相位谱;
获得相位谱补偿函数,所述相位谱补偿函数的补偿因子λnew为
根据所述相位谱补偿函数对所述含噪语音信号的相位谱进行补偿,得到补偿后的相位谱;
根据所述含噪语音信号的幅度谱获得纯净语音信号的幅值;
将所述补偿后的相位谱与所述纯净语音信号的幅值重构,获得增强后的语音信号。
可选的,所述根据所述含噪语音信号的幅度谱获得纯净语音信号的幅值,具体包括:
根据所述含噪语音信号的幅度谱,采用改进决策导向算法获得每一帧噪声的改进的先验信噪比;
根据所述改进的先验信噪比,采用基于语音存在概率的噪声功率谱估计算法获得每一帧噪声的功率谱;
根据所述每一帧噪声的功率谱,采用维纳滤波法获得纯净语音信号的幅值。
可选的,所述根据所述含噪语音信号的幅度谱,采用改进决策导向算法获得每一帧噪声的改进的先验信噪比,具体包括:
根据决策导向算法估计先验信噪比
根据所述先验信噪比
根据所述增益函数采用改进的决策导向算法获得第n帧噪声的改进的先验信噪比
可选的,所述根据所述改进的先验信噪比,采用基于语音存在概率的噪声功率谱估计算法获得每一帧噪声的功率谱,具体包括:
根据所述改进的先验信噪比,采用贝叶斯公式确定第n帧后验语音存在概率p(h1|y)和第n帧后验语音缺失概率p(h0|y);
采用公式
根据公式
可选的,所述根据所述改进的先验信噪比,采用贝叶斯公式确定第n帧后验语音存在概率p(h1|y),之后还包括:
根据公式ph1mean=(1-i)*ph1mean+i*p(h1|y)确定后验语音存在概率p(h1|y)的均值ph1mean,其中i为语音存在决策,
判断是否满足ph1mean>0.9,如果是,更新第n帧后验语音存在概率p(h1|y)的值为ph1mean。
可选的,所述根据所述每一帧噪声的功率谱,采用维纳滤波法获得纯净语音信号的幅值,具体包括:
采用谱减法获得纯净语音的功率谱ps(n,k);
根据维纳滤波法采用
根据所述第n帧纯净语音信号
可选的,所述将所述补偿后的相位谱与所述纯净语音信号的幅值重构,获得增强后的语音信号,具体包括:
利用
依次获得每一帧增强后的语音信号,进而得到所述待处理的含噪语音信号对应的增强后的语音信号。
本发明还提供一种基于相位补偿的语音增强系统,所述系统包括:
含噪语音信号获取模块,用于获取待处理的含噪语音信号;
短时傅里叶变换模块,用于对所述含噪语音信号进行短时傅里叶变换,进而获得所述含噪语音信号的幅度谱和相位谱;
相位谱补偿函数获取模块,用于获得相位谱补偿函数,所述相位谱补偿函数的补偿因子λnew为
相位谱补偿模块,用于根据所述相位谱补偿函数对所述含噪语音信号的相位谱进行补偿,得到补偿后的相位谱;
纯净语音信号幅值获取模块,用于根据所述含噪语音信号的幅度谱获得纯净语音信号的幅值;
重构模块,用于将所述补偿后的相位谱与所述纯净语音信号的幅值重构,获得增强后的语音信号。
可选的,所述纯净语音信号幅值获取模块,具体包括:
改进的先验信噪比获取单元,用于根据所述含噪语音信号的幅度谱,采用改进决策导向算法获得每一帧噪声的改进的先验信噪比;
噪声功率谱获取单元,用于根据所述改进的先验信噪比,采用基于语音存在概率的噪声功率谱估计算法获得每一帧噪声的功率谱;
纯净语音信号幅值获取单元,用于根据所述每一帧噪声的功率谱,采用维纳滤波法获得纯净语音信号的幅值。
可选的,所述改进的先验信噪比获取单元具体包括:
先验信噪比估计子单元,用于根据决策导向算法估计先验信噪比
增益函数确定子单元,用于根据所述先验信噪比
改进的先验信噪比获取子单元,用于根据所述增益函数采用改进的决策导向算法获得第n帧噪声的改进的先验信噪比
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明将补偿因子设置为一个随含噪语音信噪比变化而相应变化的sigmoid型函数,由于sigmoid函数随自变量单调递增的性质,在语音存在的区域信噪比很高,补偿因子会相对较小,从而能够跟踪突然的信噪比变化,对含噪语音的频谱进行补偿;反之类似。相比传统相位谱补偿方法而言,该方法在不同信噪比下的语音质量显著改善,同时语音可懂度也有了明显提升。
本发明的方法在每个频率点根据语音输入信噪比计算先验语音存在概率而不是使用一个固定值,在噪声急剧变化时仍能实时跟踪噪声,相比传统的基于语音存在概率噪声估计方法而言,整体包络与真实的噪声功率谱更加接近。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于相位补偿的语音增强方法实施例1的流程示意图;
图2为本发明基于相位补偿的语音增强方法实施例2的流程示意图;
图3为本发明基于相位补偿的语音增强系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
首先说明传统的相位补偿方法:
假设x(t)表示纯净语音,v(t)表示平稳加性高斯噪声,且x(t)与v(t)相互独立,则含噪语音y(t)的时域表达式为y(t)=x(t)+v(t)
对其作短时傅里叶变换,其频域表达式为
在传统相位谱补偿方法中,相位谱补偿函数的表达式为
补偿后的频谱表达式为y∧(n,k)=y(n,k)+∧(n,k),其中,y(n,k)为短时傅里叶变换的频谱,∧(n,k)为相位谱补偿函数。
对补偿后的频谱取相位得到相位谱∠y∧(n,k)=arg[y∧(n,k)],其中,arg(·)表示复数幅角函数。
将补偿后的相位谱与短时傅里叶变换的幅度谱相结合得到语音增强后的频谱表达式为s∧(n,k)=|y(n,k)|exp(j∠y∧(n,k))。
针对传统的相位谱补偿方法中补偿因子固定,无法对含噪语音相位进行灵活的补偿的问题,本发明提出一种基于每帧语音输入信噪比的sigmoid型相位谱补偿函数。
图1为本发明基于相位补偿的语音增强方法实施例1的流程示意图。如图所示,所述方法包括:
步骤100:获取待处理的含噪语音信号。
步骤200:对含噪语音信号进行短时傅里叶变换,进而获得含噪语音信号的幅度谱和相位谱。此步骤与传统算法中的方式相同,含噪语音频谱y(n,k)的极坐标形式为y(n,k)=|y(n,k)|exp(j∠y(n,k)),|y(n,k)|为短时傅里叶变换的幅度谱,∠y(n,k)为短时傅里叶变换的相位谱,具体过程此处不再赘述。
步骤300:获得相位谱补偿函数。所述相位谱补偿函数的补偿因子λnew为
本发明提出一种新的相位谱补偿函数,对∧(n,k)中的补偿因子λ进行改进,将其设置为一个随含噪语音变化而相应变化的sigmoid型函数,该函数的表达式为
将λnew代入相位谱补偿函数表达式
步骤400:根据相位谱补偿函数对含噪语音信号的相位谱进行补偿,得到补偿后的相位谱。将新的相位谱补偿函数代入补偿后的频谱表达式得到新的频谱,并取相位可得新的相位谱为∠ynew(n,k)=arg[ynew(n,k)]=arg[y(n,k)+^new(n,k)],arg(·)表示取相位函数。y(n,k)为短时傅里叶变换的频谱,∧new(n,k)为新的相位谱补偿函数。
步骤500:根据含噪语音信号的幅度谱获得纯净语音信号的幅值。
具体包括:
(1)根据所述含噪语音信号的幅度谱,采用改进决策导向算法获得每一帧噪声的改进的先验信噪比。
相位信息只能捕捉到语音的细节信息,无法对语音的整体结构做出估计,故对相位谱补偿之后还需结合幅度谱进行语音增强。得到相位谱后还不能估计出语音,必须结合幅度谱,本发明用的维纳滤波法估计幅度谱,但前提必须估计噪声,噪声估计的准确性直接关系到语音增强器的幅度谱估计,所以本发明提出了新的基于语音存在概率的噪声功率谱估计算法,通过改进决策导向(decision-directed,dd)算法来估计先验信噪比,具体的方案如下:
首先,利用dd算法估计先验信噪比
然后,由dd算法估计的先验信噪比计算得到增益函数,其计算式为
最后,通过改进dd来估计先验信噪比,得到改进的先验信噪比,即
(2)根据所述改进的先验信噪比,采用基于语音存在概率的噪声功率谱估计算法获得每一帧噪声的功率谱。具体过程如下:
首先,根据贝叶斯公式计算后验语音存在概率p(h1|y):
用h1代表speechpresent(语音存在),用h0代表speechabsent(语音缺失),根据语音决策得到p(h1|y):
p(h1|y)=p(h1)p(y|h1)/(p(h1)p(y|h1)+p(h0)p(y|h0))
其中,p(h1)为语音存在的概率,p(h0)为语音缺失的概率,假设语音存在和语音缺失的概率相等,即p(h1)=p(h0)=0.5,p(y|h1)为y在语音存在条件下的发生概率,p(y|h0)为y在语音缺失条件下的发生概率。
由于stft(短时傅里叶变换)系数服从复高斯分布,概率p(y|h1)和p(y|h0)可近似表示为:
将其代入语音存在时的后验概率计算式中得到一种新的语音存在时的后验概率:
然后,对噪声功率谱进行初步估计:
利用
此步骤中,还包括第n帧后验语音存在概率p(h1|y)的更新过程,当ph1mean>0.9时,更新第n帧后验语音存在概率p(h1|y)的值为ph1mean,其中ph1mean=(1-i)*ph1mean+i*p(h1|y),ph1mean为后验语音存在概率p(h1|y)的均值。i为语音存在决策,其表达式为
最后,更新噪声功率谱:
以上步骤为计算第n帧噪声的功率谱的过程,通过上述步骤计算出每一帧噪声的功率谱
(3)根据所述每一帧噪声的功率谱,采用维纳滤波法获得纯净语音信号的幅值。在维纳滤波中应用新的基于语音存在概率(spp)的噪声估计算法得到纯净语音幅度谱
采用谱减法获得纯净语音的功率谱ps(n,k);
根据维纳滤波法采用
根据所述第n帧纯净语音信号
步骤600:将补偿后的相位谱与纯净语音信号的幅值重构,获得增强后的语音信号。
结合维纳滤波中估计出的第n帧的纯净语音幅度谱
依次获得每一帧增强后的语音信号,对其做傅里叶逆变换,得到最终增强后的时域信号为s(t)=tifft(s(n,k))
图2为本发明基于相位补偿的语音增强方法实施例2的流程示意图。如图2所示,所述方法包括:
1)对含噪语音y(t)进行stft变换得到含噪语音频谱(幅度谱和相位谱);
2)对1)得到的幅度谱采用dd算法估计先验信噪比
3)将2)得到的改进先验信噪比
4)将3)得到的噪声功率谱
其中,ps(n,k)是谱减法估计出的纯净语音功率谱,用带噪语音功率谱减去噪声功率谱得到;px(n,k)是带噪语音的功率谱;
5)对1)得到的相位谱采用相位谱补偿函数进行补偿,得到补偿后的相位谱;
6)将4)得到的纯净语音幅值
图3为本发明基于相位补偿的语音增强系统的结构示意图。如图所示,所述系统包括:
含噪语音信号获取模块301,用于获取待处理的含噪语音信号;
短时傅里叶变换模块302,用于对所述含噪语音信号进行短时傅里叶变换,进而获得所述含噪语音信号的幅度谱和相位谱;
相位谱补偿函数获取模块303,用于获得相位谱补偿函数,所述相位谱补偿函数的补偿因子λnew为
相位谱补偿模块304,用于根据所述相位谱补偿函数对所述含噪语音信号的相位谱进行补偿,得到补偿后的相位谱;
纯净语音信号幅值获取模块305,用于根据所述含噪语音信号的幅度谱获得纯净语音信号的幅值;
重构模块306,用于将所述补偿后的相位谱与所述纯净语音信号的幅值重构,获得增强后的语音信号。
其中,所述纯净语音信号幅值获取模块305,具体包括:
改进的先验信噪比获取单元,用于根据所述含噪语音信号的幅度谱,采用改进决策导向算法获得每一帧噪声的改进的先验信噪比;
噪声功率谱获取单元,用于根据所述改进的先验信噪比,采用基于语音存在概率的噪声功率谱估计算法获得每一帧噪声的功率谱;
纯净语音信号幅值获取单元,用于根据所述每一帧噪声的功率谱,采用维纳滤波法获得纯净语音信号的幅值。
所述改进的先验信噪比获取单元具体包括:
先验信噪比估计子单元,用于根据决策导向算法估计先验信噪比
增益函数确定子单元,用于根据所述先验信噪比
改进的先验信噪比获取子单元,用于根据所述增益函数采用改进的决策导向算法获得第n帧噪声的改进的先验信噪比
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。