基于非监督学习的噪声谱估计与语音活动度检测方法

文档序号:2823567阅读:527来源:国知局
专利名称:基于非监督学习的噪声谱估计与语音活动度检测方法
技术领域
本发明涉及语音信号处理技术领域,具体的说,本发明涉及一种基于非监督学习 的噪声功率谱估计与语音活动度检测方法。其中,语音活动度检测是在时间维度上判断语 音出现与否的算法,它既能以“是”或“否”的形式回答存在性,也可以用语音出现概率来描 述语音的存在性。
背景技术
大多数的语音应用系统不得不面对环境噪声干扰。前人提出了很多方法去除噪声 对语音系统的干扰,几乎所有的方法都依赖于语音活动度检测和噪声功率谱估。这两个模 块存在着紧密的联系,它们的准确性直接影响系统的整体抗噪性能。传统的解决方案存在 着如下几个问题1.在一般的抗噪算法中,语音活动度检测和噪声功率谱估计是一个级联的松耦 合,先计算语音的活动度,然后根据活动度来估计噪声功率谱。语音活动度检测器对语音信 号的敏感程度,直接影响噪声功率谱估计的准确性。语音活动度检测器过于敏感,容易导致 噪声功率谱的低估;反之,过于迟钝,容易导致噪声功率谱的高估。因此,传统方案中往往需 要根据噪声环境来调节语音检测器的敏感程度,给系统对噪声环境的适应性带来影响。2.传统的解决方案是基于半监督学习的方式。在起始阶段,一般的系统需要做出 “噪声起始”的假设,即假设句子的开头总是存在一段非语音信号。这段非语音信号可以理 解为人工标注的背景噪声样本,从这些标注样本中建立噪声的初始化模型,这是一种监督 学习方法。其缺陷是在一些应用中这个假设难以得到满足,比如当句子以语音信号开头, 那么将导致噪声模型的初始化失败,继而使得语音检测和噪声功率谱估计都不准确。在建 立噪声的初始化模型后的后续阶段,传统的解决方案大多采用检测和估计的结果来更新模 型,这种学习方法是面向决策的,它是一种非监督的学习。这种面向决策的学习方法,将估 计/检测器的输出结果,回授反馈用于更新模型。但是,它容易将不正确的结果反馈给模 型,导致模型的精度下降,而模型进一步导致估计/检测的精度下降。这样错误随着时间逐 步累积,系统性能也会随着时间逐步下降。在起始阶段中的监督学习,加上后续阶段中的非 监督学习,形成了一个半监督的学习过程。在起始阶段和后续阶段中的两个问题,都是由于 这种半监督学习的方式引起的。3.以往的大多数语音活动度检测器只是提供语音活动度在时间维度上的描述,缺 乏语音活动度在频域维度上的描述,因此无法对噪声进行进一步的精细化处理。

发明内容
本发明针对以往的语音活动度检测器和噪声功率谱估计器的缺点,提出了一个紧 耦合的解决方案,使语音活动度检测和噪声功率谱估计在一个非监督学习框架下得到统 一,从而增强语音应用系统对噪声环境的适应性。此外,该发明不依赖于“噪声起始”假设, 实用性比传统的方法强;同时,本发明还提供语音活动度在时频空间上的描述,有利于对噪声进行进一步的精细化处理。为实现上述发明目的,本发明提供了一种基于非监督学习的噪声功率谱估计与语 音活动度检测方法,如图2所示,包括下列步骤1)对于语音信号在每一个频点上的对数幅度特征,建立一个GMM模型,数学表达 式如下 其中,高斯分量表示为 其中,Xi,k表示第i帧的第k个频点上的对数幅度谱,h表示高斯分量,h e {0,1}, 《表示GMM的权重系数,
和<〗>分别表示均值和方差,其中h = 1表示语音分量,h = 0
表示噪声分量;^1表示高斯混合模型的参数集;2)对于一段语音数据,设定M帧缓存,把前M帧输入信号存入缓存中,提取缓存中 M帧的对数幅度谱,代入步骤1)的GMM模型进行初始化,得到初始化的模型λ μ;初始化过 程采用约束EM算法;3)在得到初始化的模型λ。,k之后,从第Μ+1帧开始,采用增量学习的方法,逐帧更 新GMM模型,依次递推得到
并得出噪声值/^和语音信号 在第i帧的第k个频点上的出现概率 其中i = 1,2,3,……。其中,所述GMM的增量学习方法包括递推权重系数、递推均值和递推方差;递推权重系数方法为 递推均值方法为:舄
;或者 递推方差方法为4A)2 ; 其中α是平滑因子。与现有技术相比,本发明具有下列技术效果本发明是一种语音活动度检测和噪声功率谱估计紧耦合的方案,能够增强语音应 用系统对噪声环境的适应性;此外,本发明不依赖于“噪声起始”假设,具有更强的实用性; 并且,本发明还能够提供语音活动度在时频二维空间上的描述,有利于对噪声进行进一步的精细化处理。


图1示出了一段受到噪声干扰的语音时域图和语谱图;其中(a)部分为一段被白噪声破坏的语谱图,信噪比为OdB ; (b)部分为语音信号 存在的概率图,图中的灰度表示语音信号出现(即存在)的概率;从(a)和(b)图的对比中 可以看出,本方法输出的存在概率准确的描述了语谱图的结构。图2为本发明的一种基于非监督学习的噪声功率谱估计与语音活动度检测方法 的流程图。
具体实施例方式本发明提出了一种基于非监督学习框架的噪声功率谱估计与语音活动度检测方 法。非监督学习框架的最大特点是噪声和语音信息的模型以一种非监督的方式建立,无论 在模型的初始化还是在更新过程中,都不依赖于人工标注的信息。具体地,它具有以下几个 特点 在初始化阶段,不依赖于噪声起始假设,所以该发明的应用范围比一般的解决 方案应用更加宽泛。 在更新过程中,不需要反馈信息,因此,错误累积的问题可以在一定程度上得到 缓解。 同时给出语音活动度的信息和噪声功率谱的信息,他们之间是紧耦合的关系, 只需要通过少数几个参数就可以调节系统。而在松耦合系统中,语音活动度模块和噪声检 测模块存在着各自的调节参数,参数较多,系统难以调节。
语音活动度是一个“时间——频率”的二维信息,而其它的语音活动度检测算法 仅仅描述了语音在时间维度上的存在性。在一个实施例中,非监督学习框架的载体是双分量的高斯混合模型 (GaussianMixture Model,缩写为GMM)。其中一个分量表示语音能量的分布,另一个分量是 噪声能量的分布。本发明根据梅尔刻度,将频带分割成8个子带,在每一个子带上提取能量 包络,并建立一个对应的GMM。首先采用EM算法初始化GMM,然后采用增量学习的方式来逐 步更新GMM。根据GMM模型,分别推演出语音的在这个子带上的活动度和噪声的功率谱信 肩、ο本发明采用带有约束条件的GMM对语音频谱包络进行拟合。在拟合过程中,分别对GMM的均值、权重合方差等进行约束。无论在EM算法 还是在增量学习过程中,都要求= max ^Ki + δ},K^k = max}, 其中,对于GMM的增量学习方法,具体包括递推权重系数、递推均值和递推方差的计算。1)递推权重系数 2)递推均值
或者
。其中α μ是一个小于1但接近于1的平滑因子,例如 αμ = 0. 99。3)递推方差
或 者
; 或 者
其中α κ是一个小于ι但接近于ι的平滑因子,例如α κ = 0.99。下面结合一个优选实施例对本发明做进一步地描述。本发明的原理如下对于语音信号在每一个频点上的对数幅度特征,建立一个高斯混合模型GMM,这个 模型随着时间和输入信号的变化而变化。模型的数学表达式如下 其中高斯分量表示为 这里Xi,k表示第i帧的第k个频点上的对数幅度谱,h表示高斯分量,h e {0,1}, 表示GMM的权重系数
分别表示均值和方差。其中h = 1表示语音分量,h = O
表示噪声分量。‘表示高斯混合模型的参数集。这个模型中的就是我们想要估计的噪声。同时,我们可以推导出语音信号在第 i帧的第k个频点上的出现概率 基于上述原理,根据本发明的一个实施例,如图2所示,所述噪声功率谱估计和语 音活动度检测方法包括下列步骤步骤100 设定M帧缓存,把前M帧输入信号存入缓存中,提取缓存中M帧的幅度 谱。提取一帧幅度谱的方法如下首先对这一帧的数字化声音信号做预处理(根据系统实际情况,可以包括加窗、 预加重等),设每帧长度为F点,先补零到N点(其中N≥F,N = 2j,j为整数且j≥8),进行N点离散傅里叶变换,得到离散谱
,其中h η表示缓存中第i帧的η个采样点,Yi, k表示缓存中第i帧的第k个傅里叶变换值(k = 0,1,. . .,N-1)。那么,它 的幅度值可以计算为 步骤200 =GMM的初始化。在每一个频点k上初始化一个双分量的高斯混合模型 入u,其中下标i表示时间,Xi = ◎表示初始化的模型。初始化过程采用约束EM算法,在某个频点k上,具体初始化步骤如下
步骤201 通过聚类的方法(例如LBG非监督聚类,或者模糊聚类等等)将M+1 个样本分成两类
),其中MfMf1 = M,均值较
大的一类用上标⑴表示,另一类用上标(0)表示。两类的均值为忒,
能量较小的一类的均值为绍
其中"
。两类的方差分别为
,苟 。两类的初始化权重系数
。计算新模型的似然度
D。在以下的迭代过程中,老的模
型参数集合表示为
新的模型参数为
。在开始迭 代以前
设置为一个很大的数,例如
以下开始迭代运算。步骤2 0 2 计算噪声和语音出现的概率, 步骤203 计算新的权重系数 步骤204 如果,则停止迭代,同时
;其中υ是一个接近于 O且大于O的数,例如U =0.05。步骤205 计算新的均值φ⑶= 步骤206 对新的均值进行约束戚丨=max{/7g,/7g+^},其中δ是一个常数,取
值范围在1至10之间。步骤207 计算新的方差, 步骤2OS 对新方差进行约束,私 步骤209 计算新模型的似然度 步骤210:如果满足条件-4>“;[^=忑,丨,终止迭代,其中ε是一个很小的数
字,例如
如果
,迭代跳转至“步骤 202”。步骤300:GMM的逐步更新。在建立初始化的模型λ⑴k之后,从第M+1帧开始,采 用增量学习的方法,逐帧更新GMM模型。迭代过程可以表述为在每一个频点k上,已知Xi, k和当前的观察值xi+1,k,推断Xi+1,k。对于第i+Ι帧进行傅立叶变换,得到Yi+1,k,其中0彡k <N。在每一个频点k上,计算幅度谱 』=20*1(^1011」。对于第k个频点,具体的迭 代步骤如下
步骤301 计算噪声和语音出现的概率,
步骤302:计算新的权重系数
其中,α是一个
小于1但接近于1的平滑因子,例如α = 0. 99。步骤303 对新的权重系数进行约束, 步骤304计算新的均 步骤305 对新的均值进行约束 步骤306计算新的方差 步骤307 对新方差进行约束 从以上子步骤中,我们获得了 λ i+1,k中所有的参数,从而得到了相应的语音出现概 率p(h|xi+1,k,Aiik)和噪声信号的功率谱估值基于上述实施例的算法,对噪声功率谱估计的性能进行评价,采用TIMIT数据库 中的男女话者语音数据各8个句子,和N0ISEX92噪声数据库中的高斯白噪声、F16战斗机 座仓噪声、以及babble噪声按照0、5、10dB等信噪比混合。评价指标为线谱误差,定义如下 公式 其中D(k,l)表示实际的噪声幅度谱,力表示估计的噪声幅度谱,注意SegErr
值越小,表示估计值越接近于真实值,估计约准确。算法分别于当前主流的三种噪声功率 谱估计算法进行了比较,其中MS表示最小统计算法,MCRA表示最小控制的回归平均算法, IMCRA表示提高版本的最小控制回归平均算法,TV-GMM为本发明的算法。表1表示出了线 谱误差SegError的结果。表 1 从上表可以看出,本发明提出的算法对于目前主流的三种算法均具有明显的优 势。
权利要求
一种基于非监督学习的噪声功率谱估计与语音活动度检测方法,包括下列步骤1)对于语音信号在每一个频点上的对数幅度特征,建立一个GMM模型,数学表达式如下 <mrow><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>=</mo><msubsup> <mi>w</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mn>0</mn><mo>)</mo> </mrow></msubsup><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>+</mo><msubsup> <mi>w</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mn>1</mn><mo>)</mo> </mrow></msubsup><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>;</mo> </mrow>其中,高斯分量表示为 <mrow><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>=</mo><mfrac> <mn>1</mn> <msqrt><mn>2</mn><mi>&pi;</mi><msubsup> <mi>&kappa;</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mi>h</mi><mo>)</mo> </mrow></msubsup> </msqrt></mfrac><mi>exp</mi><mo>{</mo><mo>-</mo><mfrac> <mn>1</mn> <mn>2</mn></mfrac><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>-</mo> <msubsup><mi>&mu;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow><mrow> <mo>(</mo> <mi>h</mi> <mo>)</mo></mrow> </msubsup> <mo>)</mo></mrow><mo>}</mo><mo>,</mo> </mrow>其中,xi,k表示第i帧的第k个频点上的对数幅度谱,h表示高斯分量,h∈{0,1},表示GMM的权重系数,和分别表示均值和方差,其中h=1表示语音分量,h=0表示噪声分量;表示高斯混合模型的参数集;2)对于一段语音数据,设定M帧缓存,把前M帧输入信号存入缓存中,提取缓存中M帧的对数幅度谱,代入步骤1)的GMM模型进行初始化,得到初始化的模型λ0,k;初始化过程采用约束EM算法;3)在得到初始化的模型λ0,k之后,从第M+1帧开始,采用增量学习的方法,逐帧更新每一频带的GMM模型,依次递推得到并得出噪声值和语音信号在第i帧的第k个频点上的出现概率 <mrow><mi>p</mi><mrow> <mo>(</mo> <mi>h</mi> <mo>=</mo> <mn>1</mn> <mo>|</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><msubsup> <mi>w</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mn>1</mn><mo>)</mo> </mrow></msubsup><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow> </mrow> <mrow><msubsup> <mi>w</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mn>0</mn><mo>)</mo> </mrow></msubsup><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow><mo>+</mo><msubsup> <mi>w</mi> <mrow><mi>i</mi><mo>,</mo><mi>k</mi> </mrow> <mrow><mo>(</mo><mn>1</mn><mo>)</mo> </mrow></msubsup><mi>p</mi><mrow> <mo>(</mo> <msub><mi>x</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>|</mo> <mi>h</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <msub><mi>&lambda;</mi><mrow> <mi>i</mi> <mo>,</mo> <mi>k</mi></mrow> </msub> <mo>)</mo></mrow> </mrow></mfrac><mo>,</mo> </mrow>其中i=1,2,3,……。FSA00000122082800013.tif,FSA00000122082800014.tif,FSA00000122082800015.tif,FSA00000122082800016.tif,FSA00000122082800017.tif,FSA00000122082800018.tif
2.根据权利要求1所述的噪声功率谱估计与语音活动度检测方法,其特征在于,所述 GMM的增量学习方法包括递推权重系数、递推均值和递推方差;递推权重系数方法为 递推均值方法为 或者 递推方差施为 或者 ;或者 其中,α是平滑因子。
全文摘要
本发明涉及一种基于非监督学习的噪声功率谱估计与语音活动度检测方法,包括下列步骤1)对于语音信号在每一个频点上的对数幅度特征,建立一个GMM模型;2)对于一段语音数据,设定M帧缓存,把前M帧输入信号存入缓存中,提取缓存中M帧的对数幅度谱,代入步骤1)的GMM模型进行初始化,得到初始化的模型λ0,k;3)在得到初始化的模型λ0,k之后,从第M+1帧开始,采用增量学习的方法,逐帧更新GMM模型,依次递推得到并得出噪声值和语音信号在第i帧的第k个频点上的出现概率。本发明是谱估计与语音活动度检测的紧耦合解决方案,能够增强语音应用系统对噪声环境的适应性;本发明不依赖于“噪声起始”假设,并且,本发明还能够提供语音活动度在时频二维空间上的描述。
文档编号G10L21/02GK101853661SQ20101017816
公开日2010年10月6日 申请日期2010年5月14日 优先权日2010年5月14日
发明者付强, 应冬文, 潘接林, 颜永红 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1