Page 75 - 201901
P. 75

第 38 卷 第 1 期               苗晓孔等: 采用骨导语音自适应的语句分割方法                                            71

             2 改进的语句分割算法                                       长度 (单位:ms),ω 表示帧和秒的转换关系 (单位:

                                                               ms/帧),n 表示选取的随机语音段内能量出现能量
                 改进分割算法主要体现在两个方面:一是采用
                                                               峰的个数,κ 表示信号分帧时选取的帧移位置的大
             骨导语音应对多种复杂噪声,提升算法抗噪性和
                                                               小,rand 表示随机生成的 (0,1] 区间上的数,通过
             适应性;二是结合分段双门限检测和语音聚类等方
                                                               式 (1) 能够确定检测出语音起始端点后需要向后位
             法实现语音分割,有效降低了传统固定阈值分割带
                                                               移的帧数。因为引入了 rand 随机量的生成,所以间
             来的“一句分割成多句” 或“多句分为一句” 等问题。
                                                               隙起点与语音结束点恰好重合的概率大大降低。
             在处理过程中还提出了一些其他改进步骤,如:引入
             随机动态阈值、改善相似度度量方式以及自适应等                            2.2  分段双门限检测
             改进方案,最终从整体上提升了语音分割算法的准                                双门限检测,是指通过设置检测门限的最低值
             确度和鲁棒性。                                           和最高值来判定语音是否开始和结束。分段双门限
                 改进分割算法的基本流程如图 2 所示,针对改
                                                               则是为了有效应对语句内部间隙停顿和语句间间
             进流程下面具体介绍各步骤实现方法。
                                                               隔类似情况下造成语句分割点误判的问题。简单来
                   ᣥКᤌ፞        ᖍԩᰤ࠮ឦᮃ        ηՂᮕҫ᧘             说,就是为了防止因为语句内部间隙原因而将一句
                   ឦᮃηՂ                      ҫቔѬࣝ
                                                               话误分成两句话或多句话的问题。分段第二段采用
                                                               的检测方法与第一段相同,但是其在设置语音信号
                                            ळКᬤ఻ԫ᧚
                      Ѭ඀ԥ᫃ᬍೝ฾                                  间隔中的静音帧数和随机参量做了调整,其计算公
                                           ᒭᤠऄቫགೝ฾
                                                               式如下:
                                                                             [         ]
                          ᐑዝѬౢ            ߹ੇѬҟ                                length(S)    1
                                                                     τ i = a ×           +   × κ × rand.  (2)
                                                                                 ωn        2
                      图 2  改进语音分割算法基本流程
                                                                   由公式 (2) 可以看出,其主要是在对静音段帧
               Fig. 2 The basic process of improving the speech
               segmentation algorithm                          数进行了一定程度上的减少,a 是一个比例系数,其
                                                               取值范围 (0,1],相关系数主要通过实验测试所得,
             2.1 随机变量的自适应端点检测
                                                               本实验中取2/3。通过上述分段的两段检测,通常会
                 语音端点检测算法主要包括特征提取和端点
                                                               得到一段较长的语音和一段相对较短的语音段,在
             判定两个环节       [10] 。传统的方法在特征提取时,提
                                                               连续语音中两者交替出现。
             取单一的时域参数或频域参数,作为区分语音段与
             噪声段的特征。本文在利用骨导语音良好的抗噪性                            2.3  语音聚类
             能的前提下,使用了短时能量和过零率时域融合的
                                                                   当对说话人语音进行分割之后,输入音频被切
             参数特征,克服了单一参数特征抗噪性差与区分性
                                                               分成了若干片段,通常希望分割后每个片段中只包
             差的缺点,一定程度上提升了端点检测算法的准确
                                                               含一个人的一句话,而聚类就是将这些语音片段依
             性  [2,11−12] 。但在连续语音分割时,因语句内容的长
                                                               次重新组合,把一句话的片段聚为一类。常见的聚
             短不一,并且在一句话内部中也会产生停顿和间隙,
                                                               类策略有基于支持向量机、层次凝聚聚类等。层次
             所以在进行端点检测时,还是会容易造成误检 (将
                                                               凝聚聚类是一种贪心聚类方式,在聚类的过程中把
             语句内部的停顿作为新语句的起始点分割)。为了
                                                               相似度高的两个类别合并,简单高效,示意图如图 3
             有效避免此类误检,引入随机变化的动态阈值进行
                                                               所示。
             端点判定,将固定区间的截取变成动态区间的截取,
                                                                   本文正是采用层次凝聚聚类方法,其具体实现
             克服了固定阈值不能自适应环境的缺点,使端点检
                                                               步骤如下:
             测算法适应性更强。其实现的具体方法如下:
                                                                   (1) 将端点检测之后得到的语音片段作为初始
                            length(S)
                       τ i =         + κ × rand,        (1)    类别,对每个类别进行建模。
                               ωn
             式 (1) 中,τ i 表示初始设置第 i 段中包含静音帧的                        (2) 算出两两类别之间的相似程度,得到距离
             数量值,length(S) 表示初始选取一段语音的时间                       度量矩阵。
   70   71   72   73   74   75   76   77   78   79   80