发明名称 基于波形相关法的语音信号基音周期检测方法
摘要 基于波形相关法的语音信号基音周期检测方法,属于语音信号处理领域。本发明是由语音采集系统将所需检测的语音信号输入计算机,在计算机处理器中完成对语音信号基音周期的检测,主要方法是在时域内,根据数字语音信号的准周期特性,通过比较原始信号和它的移位后的信号之间的相关性来确定基音周期。特征在于,是利用过去的语音信号样值,来减少传统波形相关估计的延时,同时在基音检测主过程的前端和末端加入了有效的预处理和后处理技术,进行基音周期检测。基音检测方法主要包括四个步骤,第一步为预处理,第二步为语音信号相关系数估计,第三步为后处理,第四步为清音/浊音判决。该方法使得在一般背景噪声环境下,基音周期估计的准确率达到99%。
申请公布号 CN1412742A 申请公布日期 2003.04.23
申请号 CN02156678.X 申请日期 2002.12.19
申请人 北京工业大学 发明人 鲍长春
分类号 G10L21/00;G10L19/00;G10L15/00 主分类号 G10L21/00
代理机构 北京工大思海专利代理有限责任公司 代理人 张慧
主权项 1、基于波形相关法的语音信号基音周期检测方法,是由语音采集系统将所需检测的语音信号输入计算机,在计算机处理器中完成对语音信号基音周期的检测,主要方法是在时域内,根据数字语音信号的准周期特性,通过比较原始信号和它的移位后的信号之间的相关性来确定基音周期,本发明的特征在于:利用过去的语音信号样值,来减少传统波形相关估计的延时,同时在语音信号相关估计的前后加入了预处理和后处理技术,进行基音周期检测;该基音检测方法主要包括四个步骤,第一步为预处理,第二步为语音信号相关系数估计,第三步为后处理,第四步为清音/浊音判决,其步骤为:第一步进行语音的预处理,包括去均值、低通滤波和数值滤波三部分,各部分分述如下:(1)去均值方法为:对于初始输入的数字语音信号s(n),通常其均值μ不为零或附带有低频噪声,在计算相关函数时,首先要减掉均值μ,去均值的信号s′(n)为                s′(n)=s(n)-μ其中<maths num="001"><![CDATA[ <math><mrow><mi>&mu;</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>-</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>s</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></math>]]></maths>式中N为数字语音信号分析帧长;(2)低通滤波方法为:对去均值的语音信号进行800Hz低通滤波,去除了第三和第四个高频共振峰及高频噪声的影响,低通滤波器是依据双线性变换法设计的一个五阶椭圆低通滤波器,其传递函数为:<maths num="002"><![CDATA[ <math><mrow><msub><mi>H</mi><mi>lpf</mi></msub><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mn>5</mn></munderover><msub><mi>A</mi><mi>i</mi></msub><msup><mi>z</mi><mrow><mo>-</mo><mi>i</mi></mrow></msup></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mn>5</mn></munderover><msub><mi>B</mi><mi>j</mi></msub><msup><mi>z</mi><mrow><mo>-</mo><mi>j</mi></mrow></msup></mrow></mfrac></mrow></math>]]></maths>式中的滤波器系数A<sub>i</sub>和B<sub>j</sub>分别为:{A<sub>i</sub>}={0.008233,-0.004879,0.007632,0.007632,-0.004879,0.008233}{B<sub>i</sub>}={1.0000,-3.6868,5.8926,-5.0085,2.2518,-0.4271}(3)数值滤波方法为:在低通滤波器之后级联一个数值滤波器去除了声道第一和第二个共振峰的影响;该数值滤波器的传递函数为:<maths num="003"><![CDATA[ <math><mrow><msub><mi>H</mi><mi>nf</mi></msub><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>&theta;</mi><mi>i</mi></msub><msup><mi>z</mi><mrow><mo>-</mo><mi>i</mi></mrow></msup></mrow></math>]]></maths>式中p为数值滤波器阶数,<maths num="004"><![CDATA[ <math><mrow><msub><mi>&theta;</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>p</mi></mfrac></mrow></math>]]></maths>为数值滤波器系数;第二步进行语音信号相关系估计,并以其作为基音检测的依据,具体步骤如下:令<img file="A0215667800034.GIF" wi="80" he="47" />为预处理后的数字语音信号,则<img file="A0215667800035.GIF" wi="81" he="47" />和其移位后的信号<img file="A0215667800036.GIF" wi="151" he="46" />之间的平方误差为<maths num="005"><![CDATA[ <math><mrow><mi>E</mi><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>[</mo><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><mi>&beta;</mi><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow><msup><mo>]</mo><mn>2</mn></msup></mrow></math>]]></maths>式中β为增益因子,τ为介于20和120个样点之间的整数延时,当n-τ<0时,将用到过去的语音信号样值,使E(τ)最小的τ值即为当前帧语音信号的基音周期初估值;令<maths num="006"><![CDATA[ <math><mrow><mo>&PartialD;</mo><mi>E</mi><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>/</mo><mi>&beta;</mi><mo>=</mo><mn>0</mn><mo>,</mo></mrow></math>]]></maths>可以得到这个最小的E(τ)为:<maths num="007"><![CDATA[ <math><mrow><mi>E</mi><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mover><mi>s</mi><mo>^</mo></mover><mn>2</mn></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mrow><mo>[</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow><msup><mo>]</mo><mn>2</mn></msup></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mover><mi>s</mi><mo>^</mo></mover><mn>2</mn></msup><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>使E(τ)最小等价于使相关系数<maths num="008"><![CDATA[ <math><mrow><mi>&rho;</mi><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><msqrt><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mover><mi>s</mi><mo>^</mo></mover><mn>2</mn></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mover><mi>s</mi><mo>^</mo></mover><mn>2</mn></msup><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>&tau;</mi><mo>)</mo></mrow></msqrt></mfrac></mrow></math>]]></maths>最大,使ρ(τ)最大的τ值即为当前帧语音信号的基音周期初估值;第三步和第四步为进行后处理和利用ρ(τ)进行语音信号的清音/浊音判决,具体步骤如下:(1)利用下式求预处理后的语音信号<img file="A0215667800044.GIF" wi="80" he="48" />的对数能量E(dB):<maths num="009"><![CDATA[ <math><mrow><mi>E</mi><mo>=</mo><mn>10</mn><mi>log</mi><mn>10</mn><mrow><mo>(</mo><mi>&epsiv;</mi><mo>+</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mover><mi>s</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow></math>]]></maths>式中ε是一个很小的正常数,当E小于给定门限E<sub>th</sub>时,语音能量太小,判决为清音,当E大于E<sub>th</sub>,且在允许的基频范围内时,判为浊音;(2)对E大于E<sub>th</sub>的基音周期进行后处理,措施为:首先,在三个基音区域内计算ρ(τ),分别得到各自区域内的最大ρ(τ)值及对应的延迟,记为ρ<sub>max1</sub>,ρ<sub>max2</sub>和ρ<sub>max3</sub>、τ<sub>1</sub>,τ<sub>2</sub>,和τ<sub>3</sub>,这三个区域分别为80~120,40~79和20~39,其次,按如下逻辑确定最优基音延迟τ<sub>opt</sub>:                     τ<sub>opt</sub>=τ<sub>1</sub>                     ρ<sub>max</sub>=ρ<sub>max1</sub>                  if ρ<sub>max2</sub>≥cρ<sub>max</sub>                     ρ<sub>max</sub>=ρ<sub>max2</sub>                     τ<sub>opt</sub>=τ<sub>2</sub>                  end                  if ρ<sub>max3</sub>≥cρ<sub>max</sub>                     ρ<sub>max</sub>=ρ<sub>max3</sub>                     τ<sub>opt</sub>=τ<sub>3</sub>                  end这里c=0.96为经验因子;(3)确定周期性水平量Z<sub>p</sub>,设ρ的最大峰值为ρ<sub>max</sub>(后处理后的),ρ的前三个峰的平均值为:<maths num="010"><![CDATA[ <math><mrow><msub><mi>&rho;</mi><mi>avr</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mrow><mo>(</mo><msub><mi>&rho;</mi><mrow><mi>max</mi><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>&rho;</mi><mrow><mi>max</mi><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>&rho;</mi><mrow><mi>max</mi><mn>3</mn></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>则周期性水平量Z<sub>p</sub>计算为:                    Z<sub>p</sub>=ρ<sub>max</sub>+ρ<sub>avr</sub>当Z<sub>p</sub>小于给定的门限Z<sub>th</sub>时,说明周期性不强,判决为清音,当Z<sub>p</sub>大于给定的门限Z<sub>th</sub>时,且在允许的基频范围内时,判为浊音,并输出对应的优化基音延迟τ<sub>opt</sub>。
地址 100022北京市朝阳区平乐园100号