发明名称 一种基于模糊隶属函数的语音分离方法
摘要 本发明提供一种基于模糊隶属函数的语音分离方法,属于语音分离方法。该方法结合模糊隶属函数,得到语音时频单元对目标信号隶属程度的更准确定义,并模拟人耳听觉系统建立听觉振荡模型,提取语音基音特征,根据基音周期特征对语音时频单元进行标记,组成前景流和背景流。根据标记的不同判断对应的时频单元为目标或是噪声,在合成阶段目标单元乘以高权重,噪声单元则乘以低权重,得到重新合成语音。本发明可以更精准的估计出基音周期,基于此特征线索,对时频单元做出更准确的标记,得到更完整的目标语音。由于该方法基于语音的基音特征,因此在复杂非平稳噪声下有较好的分离效果,应用范围广泛。
申请公布号 CN103325381B 申请公布日期 2015.09.02
申请号 CN201310206373.X 申请日期 2013.05.29
申请人 吉林大学 发明人 林琳;徐鹤;孙晓颖;陈建;胡封晔;魏晓丽
分类号 G10L21/0272(2013.01)I 主分类号 G10L21/0272(2013.01)I
代理机构 吉林长春新纪元专利代理有限责任公司 22100 代理人 魏征骥
主权项 一种基于模糊隶属函数的语音分离方法,其特征在于,包括下列步骤:(一)语音信号的预处理,包括语音信号的端点检测、预加重;(二)听觉特征提取过程如下:将预处理后得到的信号经过模拟耳蜗的伽马通滤波器处理;(1)伽马通滤波器的时域响应为<img file="FDA0000737030380000014.GIF" wi="1132" he="94" />其中,N是滤波器的个数,c是滤波器的序数,按频率高低在[1,N]范围内取值,i是滤波器的阶数,U(t)是单位阶跃函数,t是时间,φ<sub>c</sub>表示第c个滤波器的相位,f<sub>c</sub>是滤波器的中心频率,每个滤波器的带宽与人耳的临界频带有关,听觉心理学中的临界频带可以用等效矩形带宽来度量EBR(f)=24.7*(4.37f/1000+1) f为频率,b<sub>c</sub>取值为b<sub>c</sub>=1.019EBR(f<sub>c</sub>)(2)对g<sub>c</sub>(t)进行拉普拉斯变换,得到<img file="FDA0000737030380000011.GIF" wi="830" he="306" />s是拉式变换复变量,j为虚数单位;(3)为简化公式,令参数等效带宽b=2πb<sub>c</sub>,等效频率ω=2πf<sub>c</sub>,得到伽马通滤波器冲激响应的拉氏变换G<sub>c</sub>(s) <img file="FDA0000737030380000012.GIF" wi="804" he="145" />(4)将G<sub>c</sub>(s)转换为Z变换G<sub>c</sub>(z)形式,再反变换得到伽马通滤波器的离散冲激响应g<sub>c</sub>(n),<img file="FDA0000737030380000013.GIF" wi="529" he="140" />n为信号数字域时间,Z为Z变换变量;(5)将语音信号与g<sub>c</sub>(n)卷积后得到伽马通滤波器的滤波输出h(c,n);(6)对h(c,n)进行响度变换,得到听觉特征GF(c,n);<img file="FDA0000737030380000021.GIF" wi="406" he="89" />(三)对伽马通滤波器的滤波输出h(c,n)采用中级听觉形式表示;(1)自相关图谱A(c,m,τ),在时间帧m上,第c个通道在延时为τ的自相关A(c,m,τ)为<img file="FDA0000737030380000022.GIF" wi="948" he="154" />其中,h是听觉外周模型的输出,T是帧间距离,对应于10ms,N<sub>c</sub>为自相关对应窗长的点数,其中窗长取帧长度20ms和4/f<sub>c</sub>之间的较大值,f<sub>c</sub>为伽马通滤波器对应通道的中心频率,延迟τ的取值范围是[0,12.5ms],对应于伽马通滤波器的中心频率;(2)互相关图谱为<img file="FDA0000737030380000023.GIF" wi="708" he="146" />其中,<img file="FDA0000737030380000024.GIF" wi="202" he="78" />为A(c,m,τ)的归一化函数,L对应于最大时延12.5ms,互相关图谱表明两个是否属于同一声源;(3)和相关图谱用于强化周期性的信号在频段上A(c,m,τ)与基音相关的结构,在时间帧m和延迟τ上的和相关图谱为<img file="FDA0000737030380000025.GIF" wi="448" he="130" />(4)在时间帧m,第c个通道在延时为τ的包络自相关图谱为A<sub>E</sub>(c,m,τ)为<img file="FDA0000737030380000026.GIF" wi="1042" he="149" />其中,h(c,n)即为h(c,n)的包络,具体计算过程如下:1)对h(c,n)进行半波整流;2)利用带通滤波器滤除直流成分和基频成分以外所有的谐波,对于每五帧用参数相同的滤波器,通带为<img file="FDA0000737030380000031.GIF" wi="294" he="81" />止带为<img file="FDA0000737030380000032.GIF" wi="190" he="83" />和<img file="FDA0000737030380000033.GIF" wi="267" he="79" />其中<img file="FDA0000737030380000034.GIF" wi="53" he="87" />是这五帧估计的基频的平均值,滤波器中使用kaiser窗函数;3)对滤波输出的信号r(c,n)进行希尔伯特变换,得到h(c,n)的包络h<sub>E</sub>(c,n);(5)包络互相关图谱计算公式为<img file="FDA0000737030380000035.GIF" wi="743" he="141" />其中,<img file="FDA0000737030380000036.GIF" wi="230" he="85" />为A<sub>E</sub>(c,m,τ)归一化自相关函数,C<sub>E</sub>(c,m)可以体现两个相邻频段AM速率的相似度;(四)低频区分离具体过程如下:(1)利用A(c,m,τ)计算s(m,τ),s(m,τ)在时间帧m上最大值所对应的时延τ<sub>D</sub>(m)即为此时间帧的主基音周期,在τ∈[2ms,12.5ms]条件下;(2)选择A(c,m,0)&gt;θ<sub>A</sub>^2和C(c,m)&gt;θ<sub>c</sub>的T‑F单元,标记值为1,θ<sub>A</sub>为能量阈值,θ<sub>c</sub>为互相关阈值,将相邻单元:相同频段上相邻的单元,或者相同时间帧上的相邻的单元组合成段,根据时间连续性原则,去掉持续时间小于50ms的分段;(3)时频单元隶属于目标语音的隶属度函数为U(A,Ratio,τ<sub>s</sub>(m)),隶属值计算公式为:<img file="FDA0000737030380000037.GIF" wi="1454" he="303" />其中:<img file="FDA0000737030380000038.GIF" wi="516" he="142" /><img file="FDA0000737030380000039.GIF" wi="982" he="161" />τ<sub>min</sub>=min(τ<sub>S</sub>(m),τ<sub>S</sub>(m+q)) τ<sub>max</sub>=max(τ<sub>S</sub>(m),τ<sub>S</sub>(m+q)) 式中,τ<sub>P</sub>(c,m)是在可信基音范围[2ms,12.5ms]内A(c,m,τ)取最大值时所对应的时延;τ<sub>s</sub>(m+q)为与时间帧m相邻时间帧,q=‑1时为前一帧,q=1为后一帧,diff(τ<sub>s</sub>(m),τ<sub>s</sub>(m+q))主要用于计算相邻两帧间基音的差异;(4)判断先后两次得到的隶属值计算结果差异是否小于2%,若小于2%则转至(6),否则转至(5);(5)保留目标语音主导的单元并组成分段,利用目标主导分段中隶属值等于1的单元,重新估计基音周期,然后转至(3);(6)保留分段中多余一半以上时频单元隶属值大于0的分段,并组合成前景流,其余时频单元组合成背景流;(7)利用下面两个约束条件验证提取基音的可靠性,对于不可靠的基音周期利用线性插值,得到时间连续的基音曲线,约束条件为:1)根据下式判断某一时频单元自身的周期是否与估计的基音周期时频单元一致;<img file="FDA0000737030380000043.GIF" wi="456" he="143" />其中,θ<sub>p</sub>生理阈值,如果估计的基音周期是可信的,那么前景流中在相应时间帧上的时频单元至少有一半的单元应该与此基音相符;2)可信的基音周期相邻两帧间的差异应该小于20%;(8)计算每个时频单元的Ratio值,将分段中有一半以上的单元的Ratio值大于θ<sub>p</sub>的段,组合成前景流<img file="FDA0000737030380000044.GIF" wi="87" he="79" />剩余的单元组合成背景流<img file="FDA0000737030380000045.GIF" wi="87" he="84" />得到低频区的分离结果;(五)高频区分离具体过程如下:(1)求取归一化的滤波整流信号<img file="dest_path_FDA0000684661530000044.GIF" wi="169" he="76" />,计算公式为:<img file="FDA0000737030380000041.GIF" wi="367" he="142" />(2)利用指定周期为τ<sub>S</sub>(m)的单正弦信号,建立与时频单元相应的标准化信号;(3)通过下式比较AM速率和估计的基音周期;<img file="FDA0000737030380000042.GIF" wi="1003" he="183" />式中,<img file="FDA0000737030380000051.GIF" wi="43" he="56" />为相位,φ<sub>cm</sub>为上式取最小值时对应<img file="FDA0000737030380000054.GIF" wi="44" he="57" />的值,f<sub>s</sub>为语音信号抽样频率;(4)令上式中平方误差估偏移为0,就可得到<img file="FDA0000737030380000052.GIF" wi="802" he="268" />在[0,2π)范围内,上式φ<sub>cm</sub>有两个解,取令平方误差最小的解为φ<sub>cm</sub>值;(5)将满足下式的时频单元标记为目标;<img file="FDA0000737030380000053.GIF" wi="896" he="275" />式中θ<sub>AM</sub>为AM准则阈值;(6)将不属于<img file="FDA0000737030380000055.GIF" wi="67" he="89" />但C<sub>E</sub>&gt;θ<sub>E</sub>的时频单元组合成段,θ<sub>E</sub>为包络互相关阈值,根据语音的连续性,除去少于50ms的段,将剩下的符合条件的分段添加进新的前景流<img file="FDA0000737030380000056.GIF" wi="86" he="84" />(7)为减少噪声影响,对前景流<img file="FDA0000737030380000057.GIF" wi="62" he="94" />中的段做如下调整:1)如果一个目标语音分段的持续时间大于50ms,则将其留在<img file="FDA0000737030380000058.GIF" wi="62" he="84" />中;2)如果一个噪声分段的持续时间大于50ms,则将其添加进<img file="FDA0000737030380000059.GIF" wi="60" he="74" />中;3)将剩下的段移除<img file="FDA00007370303800000510.GIF" wi="88" he="83" />并保留待进一步处理;4)对<img file="FDA00007370303800000511.GIF" wi="60" he="74" />反复迭代计算,将其周围且在上述步骤3)中未处理的分段合并,余下的分段再次并入<img file="FDA00007370303800000512.GIF" wi="86" he="74" />5)剩下的独立且不属于任何流的单元,如果其被标记为目标,且与前景流相邻,则将其添加进前景流,否则将其加入背景流,由此得到了最终的前景流<img file="FDA00007370303800000513.GIF" wi="62" he="74" />和背景流<img file="FDA00007370303800000514.GIF" wi="89" he="79" />(六)通过对应于声源中每个时频单元的权重恢复目标信号,具体过程如下:(1)对每个滤波器的输出进行时间反转,消除交叉频段上的相位误差;(2)将反转后信号经过伽马通滤波器处理;(3)对输出信号再次进行时间反转;(4)将经过相位校准滤波后的输出中每个时频单元乘以与时频掩码相应的权重,其中<img file="FDA0000737030380000061.GIF" wi="61" he="84" />中时频单元的二进制掩码值为1,设置为高权重,<img file="FDA0000737030380000062.GIF" wi="65" he="74" />中时频单元的二进制掩码值为0,设置为低权重;(5)对所有频段乘以权重后的输出进行求和,得到分离后的两个信号。
地址 130012 吉林省长春市朝阳区前卫路10号