SlideShare a Scribd company logo
1 of 36
语音端点检测的方法
   演讲者:刘德体
   语音端点检测的目的和意义
   基于短时能量和短时平均过零率的端点
    检测
   基于倒谱特征的端点检测
   基于熵的端点检测
   基于复杂性的端点检测( KC 复杂性和
    C 0 复杂性)
   不同语音端点检测方法的实验结果对比
语音端点检测的目的和意义
   目的
        语音信号端点检测技术其目的就是从包含语音的一段
    信号中准确地确定语音的起始点和终止点,区分语音和非语音
    信号,它是语音处理技术中的一个重要方面。
   意义
        有效的端点检测技术不仅能在语音识别系统中减少数
    据的采集量,节约处理时间,还能排除无声段或噪声段的干扰
    ,提高语音识别系统的性能,而且在语音编码中还能降低噪声
    和静音段的比特率,提高编码效率。
基于短时能量和短时平均过零率
        的端点检测
   短时能量
        语音和噪声的区别可以体现在它们的能量上,语音段的
    能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波
    能量的和。在信噪比很高时,那么只要计算输入信号的短时能量
    或短时平均幅度就能够把语音段和噪声背景区分开。这是仅基于
    短时能量的端点检测方法。
       信号 {x(n)} 的短时能量定义为 :



       语音信号的短时平均幅度定义为 :




       其中 w(n) 为窗函数。
   短时平均过零率
      短时过零表示一帧语音信号波形穿过横轴 ( 零电平 ) 的次
    数。过零分析是语音时域分析中最简单的一种。对于连续语音
    信号,过零意味着时域波形通过时间轴;而对于离散信号,如
    果相邻的取样值的改变符号称为过零。过零率就是样本改变符
    号次数。
       信号 {x(n)} 的短时平均过零率定义为 :




       式中, sgn 为符号函数,即 :
过零率有两类重要的应用 : 第一,用于粗略地描述信号
的频谱特性 ; 第二,用于判别清音和浊音、有话和无话。从上
面提到的定义出发计算过零率容易受低频干扰,特别是 50Hz 交
流干扰的影响。解决这个问题的办法,一个是做高通滤波器或
带通滤波,减小随机噪声的影响;另一个有效方法是对上述定
义做一点修改,设一个门限 T ,将过零率的含义修改为跨过正
负门限。
  于是,有定义 :
   检测方法
        利用过零率检测清音,用短时能量检测浊音,两者配
    合。首先为短时能量和过零率分别确定两个门限,一个是较低
    的门限数值较小,对信号的变化比较敏感,很容易超过;另一
    个是比较高的门限,数值较大。低门限被超过未必是语音的开
    始,有可能是很短的噪声引起的,高门限被超过并且接下来的
    自定义时间段内的语音超过低门限,意味着信号开始。
        此时整个端点检测可分为四段:静音段、过渡段、语
    音段、结束。实验时使用一个变量表示当前状态。静音段,如
    果能量或过零率超过低门限,就开始标记起始点,进入过渡段。
    过渡段当两个参数值都回落到低门限以下,就将当前状态恢复
    到静音状态。而如果过渡段中两个参数中的任一个超过高门限
    ,即被认为进入语音段。处于语音段时,如果两参数降低到门
    限以下,而且总的计时长度小于最短时间门限,则认为是一段
    噪音,继续扫描以后的语音数据,否则标一记结束端点。
1




 Speech
          0


          -1
               2000    4000     6000   8000   10000 12000 14000 16000 18000

          40
Energy




          20


          0
               20     40   60     80   100    120   140   160   180   200   220
          30

          20
ZCR




          10

          0
               20     40   60     80   100    120   140   160   180   200   220




                数字“ 4” 的短时能量与平均过零率
基于倒谱特征的端点检测
   概念
          信号倒谱的一种定义是信号的能量谱密度函数 S (ω) 的对
    数的傅里叶反变换,或者可以将信号 s ( n ) 的倒谱 c ( n ) 看成是
    log S (ω) 的傅里叶级数展开,即:




          式中 C n =C -n 为实数,通常称为倒谱系数,且
对于一对谱密度函数 S(w) 与 S’(w) ,利用 Parseval
定理,其对数谱的均方距离可用倒谱距离表示 :




   式中, C n 与 C’n 分别代表谱密度函数 S(w) 与 S’(w) 的倒
谱系数。
方法:
   倒谱距离的测量法步骤类似于基于能量的端点检测,只是
将倒谱距离代替短时能量来作为特征参数。首先,假定前几帧信
号是背景噪声,计算这些帧的倒谱系数,利用前几帧倒谱系数的
平均值可估计背景噪声的倒谱系数,噪声倒谱系数的近似值可按
下述规则进行更新,即当前帧被认为是非语音帧 :



   式中   为噪声倒谱系数的近似值, 为当前测试帧的倒谱
系数, p 为调节参数。
   倒谱距离可用下式近似计算:




   式中 对应于  的噪声倒谱系数,计算所有测试帧与背
景噪声之间的倒谱距离可得到倒谱距离轨迹类似于基于能量的端
点检测过程利用倒谱距离轨迹可检测语音的端点。
基于熵的端点检测
   基于信息熵的检测方法
        对于离散型信源,当它由若干随机事件所组成时,随机
    事件出现的不确定度用其出现的概率来描述。事件出现的可能
    性愈小,概率就愈小, · 而所含信息量却愈大;相反,事件出现
    可能性愈大,概率就愈大,而所含信息量却愈小。则信源提供
    的平均信息量为:




       这里所定义的 H(x) 就是信息熵 。
由于语音信号的幅度相对于背景噪声而言其幅度的动态范
围大。因此可以认为语音信号在范围 ( 一 M,M) 中的随机事件大
,也就是熵值大,而无声状态 ( 信号中只含噪声 ) 的幅度小、
分布相对集中,因而熵值小。
   按照以上原理,在构造出了熵函数之后就可只计算出每帧
信号的信息熵 ( 幅度熵 ) 。假设语音信号 S(n) 的帧长为 N ,在
一帧语音中最大幅度值与最小幅度值分别为 M 、一 M ,分别统
计这一区域中 S(n)=S i , S i ∈( 一 M , M) 出现的次数 n i ,并将
比例 n i /N 作为出现 S i 这一值的概率 :P i = n i /N 。将 P i 代入前
面的熵函数公式,即可得到语音信号的熵函数曲线。背景噪声
信号的幅度熵的值较小而浊音信号的幅度熵值比较大,因此可
以进行端点检测。首先通过实验确定一个阈值 h ,然后对每帧
语音的熵值进行比较,认为熵值大于等于 h 时为语音帧,小于 h
则为无声帧,即可检测出语音信号的端点。
   基于谱熵的检测方法
        谱熵方法与信息嫡方法有着相似之处,信息熵方法是在
    时域内对信号进行熵值统计和计算,谱熵检测方法是从语音信
    号的频域来进行计算,然后从频谱分布概率来进行语音端点的
    检测。
      谱熵的计算方法如下 : 首先通过快速傅立叶变换 (FFT) 得
    到每一帧信号的频谱,其中每个频谱向量的系数表明了该帧信
    号在该频率点的大小分布。然后计算每个频谱分量在每帧总能
    量中所占的比例,将其作为信号能量集中在某频率点的概率,
    其概率密度函数定义为 :




        式中, S(f i ) 是 f i 的能量, P i 是相应的概率密度, N 是
    FTF 中频率成分的所有点数。由于语音信号的绝大部分能量集中
    200Hz ~ 350OHZ 之间,所以,为了集中计算谱熵以增加语音和
    非语音在概率密度函数中的区分性,我们把 200HZ ~ 3500Hz 之
    外的频率分量置为 0 ,即 :
相应的每一帧的谱熵定义如下 :




    通过熵函数就可以计算每帧语音信号的谱熵,并跟阈值
比较,就可以检测出语音的起止点。
基于复杂性的端点检测( KC 复杂
    性和 C 0 复杂性)
   复杂性
   Kolmogorov 复杂度
        即 KC 复杂性,它可以用来衡量序列的复杂程度如
    何, LemPel 和 Ziv 定义了由有限集合的元素所构成的有限序列
    的复杂度 C(n) ,它反映了序列接近随机的程度,按有限序列从
    头开始反复进行以下操作:每次添加一个元素构成一个检验子串
    ,如果该子串在除去最后添加的那个元素之前所构成的序列中已
    出现过,那么所构成的新序列的复杂度保持不变,并继续添加元
    素,直到由上述相继添加元素所构成的添加子串在除去最后添加
    的那个元素之前所形成的整个序列中从未出现过为止,此时整个
    序列的复杂度增加一,当往后继续添加元素时重新建立新的检验
    子串,如此反复进行,直到结束。如果最后一个检验子串在除去
    末尾一个元素之前的序列中出现过,复杂度也仍然加一。
具体来说,分以下几个步骤 :
        假如有一数列 (x1,x2,…xn) ,首先求得这个数列的平均
值 m ,再把这个数列重构。大于平均值 m 的值,令它们为 1 ,
小于平均值 m 的,令之为 0 ,这样,就构成了 (S1,S2,…Sn) 新
的 (0,1) 序列。
        在这样的 (0 , 1) 序列中已形成的一串字符 S=s1 , s2,
…sr 后,再加称之为 Q 的一个或一串字符 S r+1 或者
(S r+1 ,S r+2 ,…S r+k ) ,得到 SQ ,令 SQπ 是一串字符 SQ 减去最
后的一个字符,再看 Q 是否属于 SQπ 字符串中已有的“字句”。
如果已经有过,那么把这个字符加在后面称之为“复制”,如
果没有出现过,则称之为“插入”,“插入”时用一
个“ .” 把前后分开;下一步则把“ .” 前面的所有字符看成
S ,再重复如上步骤。
例如,序列 0010 的复杂度可以由下列步骤而得 :
  第一个符号永远是插入: 0.
  S=0 , Q=0 , SQ=00 , SQπ=0 , Q 属于 SQ→0.0
  S=0 , Q=01 , SQ=001 , SQπ=00 , Q 不属于 SQ→0.01.
  S=001 , Q=0 , SQ=0010 , SQπ=001 , Q 属于
SQ→0.01.0 ,这时       C(n)=3 。
    如符号列 0000… 应是最简单的,它的形式应是
0.00000… , C(n)=2 。符号列 01010101… 应是
0.1.0101… , C(n)=3 。
    如上所述,就得到用“ .” 分成段的字符串。分成了段的
数目就定义为“复杂度” C(n) 。
根据 Lmapel 和 Ziv 的研究,对几乎所有的 x 属于 [0,1] 区
间的 c(n) 都会趋向一个定值:




    其中 b(n) 是随机序列的渐进行为,用它来使 c(n) 归
一化,称为“相对复杂度”。
    定义相对复杂度 :




    通常就是用这个函数来表达时间序列的复杂性变化。从
这种算法可以看出,完全随机的序列 C(n) 值趋向于 1 ,而有规
律的周期运动的 C(n) 值则趋向于 0 。
   检测方法
    (1) 对语音信号进行分帧、加窗,求解 FFT 变换,得其频率分
    量
        x(k) ;
    (2) 重构语音信号,首先根据           ,其中 1≤k<N
    求得语音

      信号频谱均值,然后按照如下公式进行语音重构




     (3) 对重构后的语音信号 x’(k) 按所示流程图分别求出每帧的
    KC 复杂
         度。
   C 0 复杂性
        一般认为复杂运动可以是由规则运动和随机运动混合而成
    的。随机运动所占的分额,就是 C 0 复杂性描述的基础。假设有
    一复杂运动的时间序列 x(t) ,它包含了规则运动部分的时间序
    列及随机运动时间序列。它们是怎样组成 x(t) 的是一个复杂过
    程。假设规则运动部分时间序列为 xl(t) ,它与 x(t) 的关系为
    函数 f(x) ,于是有 :



       从 x(t) 中去掉 x1(t) ,剩余部分就是随机运动部分。简
    单的,设有一变换 g(x) ,使得 :




      A 0 代表了整个复杂运动时间序列的某种量度,而 A 1 则代表
    了随机运动部分时间序列所占的份额。
由此,可定义复杂性为 :




     显然,当 x1(t) 在 x(t) 中所占份额很大时, C 0 趋向于
O 。说明系统的动力学行为几乎是规则的不含随机成分。反之,
当 x1(t) 所占份额很小而随机运动部分时间序列所占的份额很
大时, C 0 趋向于 1 时,说明系统的动力学几乎是完全随机的。
所以,随着 C 0 的增加,意味着动力学中的随机成分增加。
步骤
 (1) 对 x(n) 作离散傅立叶变换 F( ● ) ,有 :
                    X(k)=F[x(n)]
 (2) 可求出幅度谱的平均值      ,




   k 为频域变量, N 为 X(k) 的长度,即 k 的最大值。大于平
均值的频率成分被认为是规则部分的贡献,小于或等于平均值
的成分则是随机部分的贡献,这里只取规则部分的贡献。
(3) 对规则部分贡献的频谱 X’(k) 作傅立叶反变换     ,即
得   x1(n) 。
       所以有 :


      至此,求得了 x1(n) ,即规则部分时间序列。
 (4) 利用公式




  求得复杂度 C 0 。
不同语音端点检测方法的实验结
     果对比
   实验条件
( 1 )英文数据库
(2) 中文数据库
   中文数据库的采集由学生,都说普通话,个别人略带地方色彩。
 因语音信号主要集中在 300 一 3400Hz ,所以采用 44100Hz 的采样
 率,采样位数 16 位,采样通道选用立体声,每人读 5 次,每次通读
 十个词语一遍。共有 250 个有效测试 session 共有 830MB 的数据量。
 说话内容选择的词语考虑到了汉语中各个元音、辅音、摩擦音、爆
 破音和鼻音等各个不同的汉语因素。



(3) 孤立词库
     孤立词中文数据库采集由 50 名大学学生,一般发音标准,个
 别人略带地方色彩,语音信号主要集中在 300 一 3400Hz ,采用
 44100Hz 的采样频率,采样位数 16 位,采样通道选用立体声,读
 26 个英文字母,每次读一个英文字母,每人每个字母读 2 次。共
 有 2600 个有效测试孤立 session ,共有 200MB 的数据量。
   实验结果
   实验结果分析
       在高信噪比的条件下,上述方法大部分都能正常工作,
    端点检测的准确率都比较高,但是随着信噪比的降低,基于能
    量和基于倒谱距离的语音端点检测方法检测准确率急速降低,
    在低信噪比条件,这两种方法显然已经不能正常的工作。下面
    再看另外几种的比较:
(1) 在稳定白噪声条件下, SNR 从 30dB 下降到 0dB 的过程
中, C 0 复杂度优于 KC 复杂度, KC 复杂度优于谱熵。在 30dB 时
,三种方法检测准确度都可以达到 100% ,但在 OdB 时,谱熵只
有 57% 的准确率, KC 有 70% 的准确率,而 C 0 复杂度还能达到
82% 的准确率。
    (2) 在非稳定噪声中的办公室噪音条件下, C 0 复杂度优于谱
熵,谱熵优于 KC 复杂度。在 30dB 时,三种方法检测准确度都可
以达到 100% ,但在 0dB 时, KC 复杂度和谱熵都只有 40% 左右的
准确率,而 C 0 复杂度还是有 65% 的准确率。
     所以用谱熵, KC 复杂度和 C 0 复杂度进行端点检测的方法都
适用于信噪比较小的环境下的语音端点检测,但当信噪比降到一
定程度时,谱熵, KC 复杂度将不适用,而基于 C 0 复杂性特征的
端点检测法能够有效的克服噪声环境对语音端点检测系统的影响
,适合强健语音识别系统的要求。
谢谢!

More Related Content

Viewers also liked

Rational Unified Treatment for Web Application Vulnerability Assessment
Rational Unified Treatment for Web Application Vulnerability AssessmentRational Unified Treatment for Web Application Vulnerability Assessment
Rational Unified Treatment for Web Application Vulnerability AssessmentVESIT/University of Mumbai
 
1.语音识别基础第一章
1.语音识别基础第一章1.语音识别基础第一章
1.语音识别基础第一章pfa2008
 
Revision for magnetism test
Revision for magnetism testRevision for magnetism test
Revision for magnetism test09sargentd
 
Rancangan Harian Mengajar ( Kaedah 4 MAT )
Rancangan Harian Mengajar ( Kaedah 4 MAT )Rancangan Harian Mengajar ( Kaedah 4 MAT )
Rancangan Harian Mengajar ( Kaedah 4 MAT )Patma Aruldas
 
Safeguarding Children: Getting it right from the start. Jane Barlow.
Safeguarding Children: Getting it right from the start. Jane Barlow. Safeguarding Children: Getting it right from the start. Jane Barlow.
Safeguarding Children: Getting it right from the start. Jane Barlow. ScarletFire.co.uk
 
Information Sharing - Messages from Serious Case Reviews
Information Sharing -Messages from Serious Case ReviewsInformation Sharing -Messages from Serious Case Reviews
Information Sharing - Messages from Serious Case ReviewsScarletFire.co.uk
 

Viewers also liked (10)

Rational Unified Treatment for Web Application Vulnerability Assessment
Rational Unified Treatment for Web Application Vulnerability AssessmentRational Unified Treatment for Web Application Vulnerability Assessment
Rational Unified Treatment for Web Application Vulnerability Assessment
 
Pck asas ukuran
Pck asas ukuranPck asas ukuran
Pck asas ukuran
 
1.语音识别基础第一章
1.语音识别基础第一章1.语音识别基础第一章
1.语音识别基础第一章
 
Revision for magnetism test
Revision for magnetism testRevision for magnetism test
Revision for magnetism test
 
UX в ecommerce проекте
UX в ecommerce проектеUX в ecommerce проекте
UX в ecommerce проекте
 
Handy annotations-within-oracle-10g
Handy annotations-within-oracle-10gHandy annotations-within-oracle-10g
Handy annotations-within-oracle-10g
 
Rancangan Harian Mengajar ( Kaedah 4 MAT )
Rancangan Harian Mengajar ( Kaedah 4 MAT )Rancangan Harian Mengajar ( Kaedah 4 MAT )
Rancangan Harian Mengajar ( Kaedah 4 MAT )
 
Safeguarding Children: Getting it right from the start. Jane Barlow.
Safeguarding Children: Getting it right from the start. Jane Barlow. Safeguarding Children: Getting it right from the start. Jane Barlow.
Safeguarding Children: Getting it right from the start. Jane Barlow.
 
Information Sharing - Messages from Serious Case Reviews
Information Sharing -Messages from Serious Case ReviewsInformation Sharing -Messages from Serious Case Reviews
Information Sharing - Messages from Serious Case Reviews
 
Research users (mobile news app)
Research users (mobile news app) Research users (mobile news app)
Research users (mobile news app)
 

端点检测

  • 1. 语音端点检测的方法 演讲者:刘德体
  • 2. 语音端点检测的目的和意义  基于短时能量和短时平均过零率的端点 检测  基于倒谱特征的端点检测  基于熵的端点检测  基于复杂性的端点检测( KC 复杂性和 C 0 复杂性)  不同语音端点检测方法的实验结果对比
  • 3. 语音端点检测的目的和意义  目的 语音信号端点检测技术其目的就是从包含语音的一段 信号中准确地确定语音的起始点和终止点,区分语音和非语音 信号,它是语音处理技术中的一个重要方面。  意义 有效的端点检测技术不仅能在语音识别系统中减少数 据的采集量,节约处理时间,还能排除无声段或噪声段的干扰 ,提高语音识别系统的性能,而且在语音编码中还能降低噪声 和静音段的比特率,提高编码效率。
  • 4. 基于短时能量和短时平均过零率 的端点检测  短时能量 语音和噪声的区别可以体现在它们的能量上,语音段的 能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波 能量的和。在信噪比很高时,那么只要计算输入信号的短时能量 或短时平均幅度就能够把语音段和噪声背景区分开。这是仅基于 短时能量的端点检测方法。 信号 {x(n)} 的短时能量定义为 : 语音信号的短时平均幅度定义为 : 其中 w(n) 为窗函数。
  • 5. 短时平均过零率 短时过零表示一帧语音信号波形穿过横轴 ( 零电平 ) 的次 数。过零分析是语音时域分析中最简单的一种。对于连续语音 信号,过零意味着时域波形通过时间轴;而对于离散信号,如 果相邻的取样值的改变符号称为过零。过零率就是样本改变符 号次数。 信号 {x(n)} 的短时平均过零率定义为 : 式中, sgn 为符号函数,即 :
  • 6. 过零率有两类重要的应用 : 第一,用于粗略地描述信号 的频谱特性 ; 第二,用于判别清音和浊音、有话和无话。从上 面提到的定义出发计算过零率容易受低频干扰,特别是 50Hz 交 流干扰的影响。解决这个问题的办法,一个是做高通滤波器或 带通滤波,减小随机噪声的影响;另一个有效方法是对上述定 义做一点修改,设一个门限 T ,将过零率的含义修改为跨过正 负门限。 于是,有定义 :
  • 7. 检测方法 利用过零率检测清音,用短时能量检测浊音,两者配 合。首先为短时能量和过零率分别确定两个门限,一个是较低 的门限数值较小,对信号的变化比较敏感,很容易超过;另一 个是比较高的门限,数值较大。低门限被超过未必是语音的开 始,有可能是很短的噪声引起的,高门限被超过并且接下来的 自定义时间段内的语音超过低门限,意味着信号开始。 此时整个端点检测可分为四段:静音段、过渡段、语 音段、结束。实验时使用一个变量表示当前状态。静音段,如 果能量或过零率超过低门限,就开始标记起始点,进入过渡段。 过渡段当两个参数值都回落到低门限以下,就将当前状态恢复 到静音状态。而如果过渡段中两个参数中的任一个超过高门限 ,即被认为进入语音段。处于语音段时,如果两参数降低到门 限以下,而且总的计时长度小于最短时间门限,则认为是一段 噪音,继续扫描以后的语音数据,否则标一记结束端点。
  • 8. 1 Speech 0 -1 2000 4000 6000 8000 10000 12000 14000 16000 18000 40 Energy 20 0 20 40 60 80 100 120 140 160 180 200 220 30 20 ZCR 10 0 20 40 60 80 100 120 140 160 180 200 220 数字“ 4” 的短时能量与平均过零率
  • 9. 基于倒谱特征的端点检测  概念 信号倒谱的一种定义是信号的能量谱密度函数 S (ω) 的对 数的傅里叶反变换,或者可以将信号 s ( n ) 的倒谱 c ( n ) 看成是 log S (ω) 的傅里叶级数展开,即: 式中 C n =C -n 为实数,通常称为倒谱系数,且
  • 10. 对于一对谱密度函数 S(w) 与 S’(w) ,利用 Parseval 定理,其对数谱的均方距离可用倒谱距离表示 : 式中, C n 与 C’n 分别代表谱密度函数 S(w) 与 S’(w) 的倒 谱系数。
  • 11. 方法: 倒谱距离的测量法步骤类似于基于能量的端点检测,只是 将倒谱距离代替短时能量来作为特征参数。首先,假定前几帧信 号是背景噪声,计算这些帧的倒谱系数,利用前几帧倒谱系数的 平均值可估计背景噪声的倒谱系数,噪声倒谱系数的近似值可按 下述规则进行更新,即当前帧被认为是非语音帧 : 式中 为噪声倒谱系数的近似值, 为当前测试帧的倒谱 系数, p 为调节参数。 倒谱距离可用下式近似计算: 式中 对应于 的噪声倒谱系数,计算所有测试帧与背 景噪声之间的倒谱距离可得到倒谱距离轨迹类似于基于能量的端 点检测过程利用倒谱距离轨迹可检测语音的端点。
  • 12. 基于熵的端点检测  基于信息熵的检测方法 对于离散型信源,当它由若干随机事件所组成时,随机 事件出现的不确定度用其出现的概率来描述。事件出现的可能 性愈小,概率就愈小, · 而所含信息量却愈大;相反,事件出现 可能性愈大,概率就愈大,而所含信息量却愈小。则信源提供 的平均信息量为: 这里所定义的 H(x) 就是信息熵 。
  • 13. 由于语音信号的幅度相对于背景噪声而言其幅度的动态范 围大。因此可以认为语音信号在范围 ( 一 M,M) 中的随机事件大 ,也就是熵值大,而无声状态 ( 信号中只含噪声 ) 的幅度小、 分布相对集中,因而熵值小。 按照以上原理,在构造出了熵函数之后就可只计算出每帧 信号的信息熵 ( 幅度熵 ) 。假设语音信号 S(n) 的帧长为 N ,在 一帧语音中最大幅度值与最小幅度值分别为 M 、一 M ,分别统 计这一区域中 S(n)=S i , S i ∈( 一 M , M) 出现的次数 n i ,并将 比例 n i /N 作为出现 S i 这一值的概率 :P i = n i /N 。将 P i 代入前 面的熵函数公式,即可得到语音信号的熵函数曲线。背景噪声 信号的幅度熵的值较小而浊音信号的幅度熵值比较大,因此可 以进行端点检测。首先通过实验确定一个阈值 h ,然后对每帧 语音的熵值进行比较,认为熵值大于等于 h 时为语音帧,小于 h 则为无声帧,即可检测出语音信号的端点。
  • 14. 基于谱熵的检测方法 谱熵方法与信息嫡方法有着相似之处,信息熵方法是在 时域内对信号进行熵值统计和计算,谱熵检测方法是从语音信 号的频域来进行计算,然后从频谱分布概率来进行语音端点的 检测。 谱熵的计算方法如下 : 首先通过快速傅立叶变换 (FFT) 得 到每一帧信号的频谱,其中每个频谱向量的系数表明了该帧信 号在该频率点的大小分布。然后计算每个频谱分量在每帧总能 量中所占的比例,将其作为信号能量集中在某频率点的概率, 其概率密度函数定义为 : 式中, S(f i ) 是 f i 的能量, P i 是相应的概率密度, N 是 FTF 中频率成分的所有点数。由于语音信号的绝大部分能量集中 200Hz ~ 350OHZ 之间,所以,为了集中计算谱熵以增加语音和 非语音在概率密度函数中的区分性,我们把 200HZ ~ 3500Hz 之 外的频率分量置为 0 ,即 :
  • 15. 相应的每一帧的谱熵定义如下 : 通过熵函数就可以计算每帧语音信号的谱熵,并跟阈值 比较,就可以检测出语音的起止点。
  • 16. 基于复杂性的端点检测( KC 复杂 性和 C 0 复杂性)  复杂性
  • 17. Kolmogorov 复杂度 即 KC 复杂性,它可以用来衡量序列的复杂程度如 何, LemPel 和 Ziv 定义了由有限集合的元素所构成的有限序列 的复杂度 C(n) ,它反映了序列接近随机的程度,按有限序列从 头开始反复进行以下操作:每次添加一个元素构成一个检验子串 ,如果该子串在除去最后添加的那个元素之前所构成的序列中已 出现过,那么所构成的新序列的复杂度保持不变,并继续添加元 素,直到由上述相继添加元素所构成的添加子串在除去最后添加 的那个元素之前所形成的整个序列中从未出现过为止,此时整个 序列的复杂度增加一,当往后继续添加元素时重新建立新的检验 子串,如此反复进行,直到结束。如果最后一个检验子串在除去 末尾一个元素之前的序列中出现过,复杂度也仍然加一。
  • 18. 具体来说,分以下几个步骤 : 假如有一数列 (x1,x2,…xn) ,首先求得这个数列的平均 值 m ,再把这个数列重构。大于平均值 m 的值,令它们为 1 , 小于平均值 m 的,令之为 0 ,这样,就构成了 (S1,S2,…Sn) 新 的 (0,1) 序列。 在这样的 (0 , 1) 序列中已形成的一串字符 S=s1 , s2, …sr 后,再加称之为 Q 的一个或一串字符 S r+1 或者 (S r+1 ,S r+2 ,…S r+k ) ,得到 SQ ,令 SQπ 是一串字符 SQ 减去最 后的一个字符,再看 Q 是否属于 SQπ 字符串中已有的“字句”。 如果已经有过,那么把这个字符加在后面称之为“复制”,如 果没有出现过,则称之为“插入”,“插入”时用一 个“ .” 把前后分开;下一步则把“ .” 前面的所有字符看成 S ,再重复如上步骤。
  • 19. 例如,序列 0010 的复杂度可以由下列步骤而得 : 第一个符号永远是插入: 0. S=0 , Q=0 , SQ=00 , SQπ=0 , Q 属于 SQ→0.0 S=0 , Q=01 , SQ=001 , SQπ=00 , Q 不属于 SQ→0.01. S=001 , Q=0 , SQ=0010 , SQπ=001 , Q 属于 SQ→0.01.0 ,这时 C(n)=3 。 如符号列 0000… 应是最简单的,它的形式应是 0.00000… , C(n)=2 。符号列 01010101… 应是 0.1.0101… , C(n)=3 。 如上所述,就得到用“ .” 分成段的字符串。分成了段的 数目就定义为“复杂度” C(n) 。
  • 20. 根据 Lmapel 和 Ziv 的研究,对几乎所有的 x 属于 [0,1] 区 间的 c(n) 都会趋向一个定值: 其中 b(n) 是随机序列的渐进行为,用它来使 c(n) 归 一化,称为“相对复杂度”。 定义相对复杂度 : 通常就是用这个函数来表达时间序列的复杂性变化。从 这种算法可以看出,完全随机的序列 C(n) 值趋向于 1 ,而有规 律的周期运动的 C(n) 值则趋向于 0 。
  • 21. 检测方法 (1) 对语音信号进行分帧、加窗,求解 FFT 变换,得其频率分 量 x(k) ; (2) 重构语音信号,首先根据 ,其中 1≤k<N 求得语音 信号频谱均值,然后按照如下公式进行语音重构 (3) 对重构后的语音信号 x’(k) 按所示流程图分别求出每帧的 KC 复杂 度。
  • 22.
  • 23. C 0 复杂性 一般认为复杂运动可以是由规则运动和随机运动混合而成 的。随机运动所占的分额,就是 C 0 复杂性描述的基础。假设有 一复杂运动的时间序列 x(t) ,它包含了规则运动部分的时间序 列及随机运动时间序列。它们是怎样组成 x(t) 的是一个复杂过 程。假设规则运动部分时间序列为 xl(t) ,它与 x(t) 的关系为 函数 f(x) ,于是有 : 从 x(t) 中去掉 x1(t) ,剩余部分就是随机运动部分。简 单的,设有一变换 g(x) ,使得 : A 0 代表了整个复杂运动时间序列的某种量度,而 A 1 则代表 了随机运动部分时间序列所占的份额。
  • 24. 由此,可定义复杂性为 : 显然,当 x1(t) 在 x(t) 中所占份额很大时, C 0 趋向于 O 。说明系统的动力学行为几乎是规则的不含随机成分。反之, 当 x1(t) 所占份额很小而随机运动部分时间序列所占的份额很 大时, C 0 趋向于 1 时,说明系统的动力学几乎是完全随机的。 所以,随着 C 0 的增加,意味着动力学中的随机成分增加。
  • 25. 步骤 (1) 对 x(n) 作离散傅立叶变换 F( ● ) ,有 : X(k)=F[x(n)] (2) 可求出幅度谱的平均值 , k 为频域变量, N 为 X(k) 的长度,即 k 的最大值。大于平 均值的频率成分被认为是规则部分的贡献,小于或等于平均值 的成分则是随机部分的贡献,这里只取规则部分的贡献。
  • 26. (3) 对规则部分贡献的频谱 X’(k) 作傅立叶反变换 ,即 得 x1(n) 。 所以有 : 至此,求得了 x1(n) ,即规则部分时间序列。 (4) 利用公式 求得复杂度 C 0 。
  • 27. 不同语音端点检测方法的实验结 果对比  实验条件 ( 1 )英文数据库
  • 28. (2) 中文数据库 中文数据库的采集由学生,都说普通话,个别人略带地方色彩。 因语音信号主要集中在 300 一 3400Hz ,所以采用 44100Hz 的采样 率,采样位数 16 位,采样通道选用立体声,每人读 5 次,每次通读 十个词语一遍。共有 250 个有效测试 session 共有 830MB 的数据量。 说话内容选择的词语考虑到了汉语中各个元音、辅音、摩擦音、爆 破音和鼻音等各个不同的汉语因素。 (3) 孤立词库 孤立词中文数据库采集由 50 名大学学生,一般发音标准,个 别人略带地方色彩,语音信号主要集中在 300 一 3400Hz ,采用 44100Hz 的采样频率,采样位数 16 位,采样通道选用立体声,读 26 个英文字母,每次读一个英文字母,每人每个字母读 2 次。共 有 2600 个有效测试孤立 session ,共有 200MB 的数据量。
  • 29. 实验结果
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. 实验结果分析 在高信噪比的条件下,上述方法大部分都能正常工作, 端点检测的准确率都比较高,但是随着信噪比的降低,基于能 量和基于倒谱距离的语音端点检测方法检测准确率急速降低, 在低信噪比条件,这两种方法显然已经不能正常的工作。下面 再看另外几种的比较:
  • 35. (1) 在稳定白噪声条件下, SNR 从 30dB 下降到 0dB 的过程 中, C 0 复杂度优于 KC 复杂度, KC 复杂度优于谱熵。在 30dB 时 ,三种方法检测准确度都可以达到 100% ,但在 OdB 时,谱熵只 有 57% 的准确率, KC 有 70% 的准确率,而 C 0 复杂度还能达到 82% 的准确率。 (2) 在非稳定噪声中的办公室噪音条件下, C 0 复杂度优于谱 熵,谱熵优于 KC 复杂度。在 30dB 时,三种方法检测准确度都可 以达到 100% ,但在 0dB 时, KC 复杂度和谱熵都只有 40% 左右的 准确率,而 C 0 复杂度还是有 65% 的准确率。 所以用谱熵, KC 复杂度和 C 0 复杂度进行端点检测的方法都 适用于信噪比较小的环境下的语音端点检测,但当信噪比降到一 定程度时,谱熵, KC 复杂度将不适用,而基于 C 0 复杂性特征的 端点检测法能够有效的克服噪声环境对语音端点检测系统的影响 ,适合强健语音识别系统的要求。