一种基于低频音节识别的语音增强方法与流程
本发明属于语音识别技术领域,具体涉及到一种基于低频音节识别的语音增强方法。
背景技术:
在实际应用中,语音信号容易受到各种噪声的干扰,接收端收到的信号一般都是含噪语音。因此,在接收端就需要用语音增强技术抑制噪声干扰,降低噪声对语音的影响,提高语音信号的信噪比,从含噪语音中提取有用的语音信号。
谱减法是一种常用的语音增强方法,它根据静音段估得的噪声幅度谱均值,对每个语音帧的幅度谱进行增强,用含噪语音幅度谱与噪声幅度谱均值的差作为纯净语音幅度谱的估计值。但是,噪声是一种随机信号,在每一帧某个频率处的实际幅度值最高可以达到平均值的6~8倍,这就使得谱减后的语音还残留有大量的噪声。虽然加权谱减法可以在一定程度上提高增强效果,但是在高频段语音的能量较小,容易被噪声淹没,很难判断高频谱中哪些是语音,哪些是噪声。如果将语音当作噪声减去,就会降低语音的质量,影响增强后语音的音质;如果将噪声当作语音保留,就会使得增强后语音的残留噪声过多,影响语音的可懂度。
技术实现要素:
发明目的:针对现有技术中存在的问题,本发明提供一种基于低频音节识别的语音增强方法,解决了语音增强后语音音质差的问题。
技术方案:本发明提出一种基于低频音节识别的语音增强方法,包括如下步骤:
(1)在训练阶段,将各个训练语音文本切分为音节,得到每个音节的训练语音,统计每个音节在每个子带上语音存在的概率;
(2)对训练语音进行低通滤波,提取低频率部分的特征,得到低频美尔频率倒谱系数;
(3)对训练语音的低频美尔频率倒谱系数进行模型训练,得到每个音节的低频声学模型;
(4)对需要识别的含噪语音进行预处理,并对其进行低通滤波,得到含噪语音的低频美尔频率倒谱系数;
(5)用训练阶段得到的低频声学模型对含噪语音的低频美尔频率倒谱系数进行识别,得到音节信息;根据所述音节信息,得到当前语音在每个子带上语音存在的概率;
(6)在每一帧的每个子带上用语音存在概率对含噪语音的幅度谱进行加权谱减,得到增强后的语音幅度谱;
(7)对增强后的语音信号进行逆快速傅里叶变换运算,得到时域信号;
(8)对增强后的时域帧信号进行重叠相加,得到增强后的连续语音。
进一步地,包括:
所述步骤(4)中,对含噪语音进行预处理,包括加窗、分帧和fft,得到每帧信号的幅度谱|x(k)|和相位谱arg[x(k)],幅度谱|x(k)|用于低频音节识别和幅度增强,相位谱arg[x(k)]用于在后端恢复时域信号。
进一步地,包括:
设含噪语音经过预处理、加窗、分帧后的一帧信号为x(n),则其频谱x(k)通过下式得到:
其中,n0表示帧长。
进一步地,包括:
所述步骤(2)中,对训练语音进行低通滤波,提取低频率部分的特征为对含噪语音的幅度谱|x(k)|进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到含噪语音的低频美尔频率倒谱系数向量ot,其中,t表示帧序号。
进一步地,包括:
所述步骤(3)中,每个音节的低频声学模型为连续密度隐马尔可夫模型,其第i个状态的概率密度函数可以表示为
其中,ot表示第t帧美尔频率倒谱系数特征向量;cim、μim和σim分别表示第i个状态的第m个高斯单元的混合系数、均值向量和协方差矩阵;m表示每个状态的高斯混合数,d表示特征向量的维数。
进一步地,包括:
所述步骤(5)中,得到当前语音在每个子带上语音存在的概率,包括:
在训练阶段,将语音的幅度谱划分为8个等间距的子带,设训练语音的幅度谱为|s(k)|,0≤k≤n0-1,其中帧长n0取2的整数次方,则第j个子带上的幅度谱为:
|sj(k)|=|s(k+j-1)|;
将训练语音切分为音节,得到每个音节的训练语音,统计每个音节在每个子带上语音存在的概率;
设第h个音节的第j个子带上存在语音的样本数为nhj,第h个音节的总样本数为nh,则第h个音节的第j个子带的语音存在概率为
1≤h≤ns
其中,ns表示系统的音节数。
进一步地,包括:
所述步骤(6)包括:
设当前语音属于第l个音节,在第j个子带上语音存在的概率为pl(j),则对该子带上的每个数字频率k,用加权谱减法减小噪声的影响:
其中,n(k)是噪声的幅度谱均值,|y(k)|是含噪语音的幅度谱,
有益效果:本发明与现有技术相比,其显著优点是:本发明首先将语音的幅度谱划分为若干个子带,统计每个音节在每个子带上语音存在的概率;然后,对含噪测试语音提取低频特征向量,用低频声学模型将其识别为某个音节,得到当前语音每个子带上语音存在的概率;最后,根据子带语音存在概率,用加权谱减法对含噪语音的幅度谱进行增强,提高了增强后语音的信噪比和可懂度。
附图说明
图1为本发明所述的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明设计了一种基于低频音节识别的语音增强方法,其框架如附图1所示。在该算法中,首先将语音的幅度谱划分为若干个子带,统计每个音节在每个子带上语音存在的概率;然后,对含噪测试语音提取低频特征向量,用低频声学模型将其识别为某个音节,得到当前语音每个子带上语音存在的概率;最后,根据子带语音存在概率,用加权谱减法对含噪语音的幅度谱进行增强。
本发明的具体包括训练阶段和识别阶段,步骤如下:
(1)在训练阶段,将训练语音切分为音节,得到每个音节的训练语音,统计每个音节在每个子带上语音存在的概率;
(2)对训练语音进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到低频美尔频率倒谱系数(mfcc:melfrequencycepstralcoefficient);
语音的能量主要集中在低频段,高频段的能量较小,容易受到噪声的干扰。在低频段,语音的能量远大于噪声,受噪声的影响较小,因此用含噪语音的低频特征进行音节识别,可以减小噪声的影响。对含噪语音的幅度谱|x(k)|进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到含噪语音的低频mfcc向量xt,其中,t表示帧序号。
(3)对训练语音的低频mfcc进行模型训练,得到每个音节的低频声学模型(音节模型);
(4)对含噪语音进行预处理,包括加窗分帧和快速傅里叶变换(fft:fastfouriertransform),得到每帧信号的幅度谱和相位谱;
对含噪语音进行预处理,得到每帧信号的幅度谱|x(k)|和相位谱arg[x(k)],幅度谱|x(k)|用于低频音节识别和幅度增强,相位谱arg[x(k)]用于在后端恢复时域信号。
设含噪语音经过预处理、加窗、分帧后的一帧信号为x(n),则其频谱x(k)可以通过下式得到:
其中,n0表示帧长。
(5)对含噪语音幅度谱进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到含噪语音的低频mfcc;
语音的能量主要集中在低频段,高频段的能量较小,容易受到噪声的干扰。在低频段,语音的能量远大于噪声,受噪声的影响较小,因此用含噪语音的低频特征进行音节识别,可以减小噪声的影响。对含噪语音的幅度谱|x(k)|进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到含噪语音的低频mfcc。
(6)用训练阶段得到的音节模型对含噪语音的低频mfcc进行识别,得到音节信息;
在训练阶段,对训练语音进行低通滤波,保留1000hz以下的频率成分,提取其特征,得到低频mfcc向量ot;对每个音节的训练语音低频mfcc向量ot进行模型训练,得到每个音节的低频声学模型,即连续密度隐马尔可夫模型(hmm:hiddenmarkovmodel),其第i个状态的概率密度函数可以表示为
其中,ot表示第t帧mfcc特征向量;cim、μim和σim分别表示第i个状态的第m个高斯单元的混合系数、均值向量和协方差矩阵;m表示每个状态的高斯混合数;d表示特征向量的维数。
在测试阶段,用训练阶段得到的低频声学模型对含噪语音的低频mfcc向量xt进行识别,得到音节信息,即将含噪语音识别为第l个音节。
(7)根据音节识别得到的音节信息,得到当前语音在每个子带上语音存在的概率;
在训练阶段,将语音的幅度谱划分为8个等间距的子带。设训练语音的幅度谱为|s(k)|,0≤k≤n0-1,其中帧长n0取2的整数次方,则第j个子带上的幅度谱为
将训练语音切分为音节,得到每个音节的训练语音,统计每个音节在每个子带上语音存在的概率。设第h个音节的第j个子带上存在语音的样本数为nhj,第h个音节的总样本数为nh,则第h个音节的第j个子带的语音存在概率为
其中,ns表示系统的音节数。
在测试阶段,根据音节识别得到的音节信息l,得到当前语音在第j个子带上语音存在的概率pl(j)。
(8)在每一帧的每个子带上用语音存在概率对含噪语音的幅度谱进行加权谱减,得到增强后的语音幅度谱;
设当前语音属于第l个音节,在第j个子带上语音存在的概率为pl(j),则对该子带上的每个数字频率k,用加权谱减法减小噪声的影响:
其中,n(k)是噪声的幅度谱均值,|y(k)|是含噪语音的幅度谱,
(9)对增强后的语音信号进行ifft(inversefft)运算,得到时域信号;
(10)对增强后的时域帧信号进行重叠相加,得到增强后的连续语音。
首先将含噪语音的相位作为纯净语音的相位,与纯净语音幅度谱的估计值
然后,对每一帧的完整频谱进行ifft运算,得到时域信号
最后,对各帧时域信号进行重叠相加,得到增强后的数字语音。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除