开始端点检测标记检测语音起点计算当前帧的短时能量和短时过零率其中一个值高于设定值否标记检测语音起点是标记语音起点后面三帧都有一个参数值高于设定值否标记检测语音起点是检测到语音信号的起点,进一步处理标记检测语音终点计算当前帧的短时能量和短时过零率其中一个值低于设定值是标记语音终点否标记检测语音起点后面三帧都有一个参数值低于设定值否标记检测语音起点是检测到语音信号的终点,进一步处理算法结束 图3.3 双门限自动分割程序流程图
图3.3所示的方法是将短时能量和短时过零率结合起来进行语音分割的方法,在信噪比良好的情况下,能对语音信号实现较为准确的自动分割。与之前介绍的单门限的判断流程不同,双门限检测对于每个特征参数都设定有两个门限。当语音信号参数值高于设定的第一个较低的门限时,说明有一定可能进入人声段,此时判决继续。当语音信号在此基础上超过了预先设置好的第二个较高的门限,并且持续有几帧的时长时,我们就认为语音信号进入了人声段。对人声段终止点的判决大体上就是它的逆过程。当语音信号的参数值低于设定的第一个较高的门限时,说明人声段有可能结束,算法继续对其进行检测,若参数值又低于了设定好的第二个较低的门限并持续了几帧的时长则说明语音信号进入了背景噪声段。
这里所说的“几帧”就是指算法预先设定好的最短语音和最短静音两个参数。因为有些噪声可能是突发性的、大功率的,这类噪声很有可能同时满足双门限的
16
条件,为了防止此类噪声对语音自动分割的准确性产生不利影响才设置了这两个参数。一旦语音信号超过了较高的判决门限,检测系统就会认为语音信号已经进入了语音阶段,但是判定还没有结束。系统会继续判断当前的状态是否能够满足最短语音和最短静音的条件,如果不满足则会被认定为噪声信号,所有参数值归零,算法重新开始判断错误!未找到引用源。。 3.3.3 基于倒谱特征的语音自动分割 (1) 倒谱特征
在语音识别系统中,很多时候短时能量和短时过零率所包含的信息并不能进行准确的语音自动分割,尤其是在说话人所处环境较为复杂、信噪比较低的情形下,基于短时能量和短时过零率的自动分割算法通常都会出现很多错误,不能准确识别出语音音节的起始点和终止点。而倒谱特征所包含的信息量要远远大于它们,同时由于倒谱的定义方式与其不同,使得基于倒谱特征进行的语音自动分割基本上不用考虑噪声大小的影响。使其能够在低信噪比条件下获得准确的分割结果。
(2) 倒谱距离
设语音信号为s?n? ,其倒谱变换为c?n?。语音信号倒谱的一种定义为:
logS(?)?n????c(n)e?jn? c(0)??12?S(?)d? ??log??(3-24)
式中, c?n?为倒谱系数,且c?n??c??n?是实数。
一对谱密度函数 S(ω)与S′(ω),用谱的倒谱距离表示对利用帕塞瓦尔定理,数谱的均方距离为:
d2cep1?2???logS(?)?logS?(?)d?????(cn?n??????)2 ?cn(3-25)
?分别代表谱密度S(w)和S′(w)的倒谱系数,两个信号谱式(3-25)中,cn与cn的差别大小可以用对数谱的均方距离来进行描述,因此可以采用倒谱距离为特征参数来识别语音音节的区间。
基于倒谱距离的语音自动分割算法流程和短时能量作为特征参数的算法十分相似,只不过变换了特征参数而已。由于极少有语音信号从第一帧开始就进入说话人语音段,故将语音前几帧默认为噪声段。通过对这段噪声进行分析可以得出倒谱系数矢量,噪声倒谱矢量的近似值可以根据公式(3-26)所述进行不断更新:
c?pc?(1?p)ct
(3-26)
平均值,ct为当前测试帧的倒谱矢量,式(3-26)中c为噪声倒谱矢量的近似p为调节参数。
17
计算倒谱距离:
??d?cep?4.3429(c0?c0)?2?(cn?cn)
2n?1p2(3-27)
?为对应于c的噪声倒谱系数,通过计算全部测试帧与噪声段之间的倒式中cn距离的轨迹。 谱距离我们可以获得倒谱式中处理语音信号所采用的倒谱特征是复倒谱特征,FFT复倒谱就是由语音信号先经过傅里叶变换,然后求其复对数的傅氏变换就可以得到相应信号的复倒谱。
此种检测方法相较于短时能量和短时过零率的方法虽然具有很多优点,但它同时也具有计算复杂、运算量大的缺点,将其应用于语音自动分割时实时问题不易解决。
18
4 基于语音熵的自动分割算法设计
上文所述的基于短时能量和短时过零率等特征参数的语音自动分割算法,虽然计算简便,且易于实现。但是该算法在低信噪比条件下,对于语音音节起始点和终止点的检测准确程度是无法达到预期效果的,从而导致自动分割准确性低下,整个语音识别系统出现大量错误。如果单从分割准确性的角度来考察,基于模式识别的方法准确性是很高的,但是在实际应用的过程中我们不能仅仅考虑精确性一方面问题,还要考虑诸如实时性、计算量等多方面因素。为了在它们之间寻找一个平衡点,既能保证自动分割的准确性又可以避免大规模的运算,本章介绍一种基于语音熵的语音自动分割算法,并对其进行了一定的改进。
4.1 本文设计方案
读入语音预加重分帧加窗进行经验性约束求子带能量概率分布密度分割完成语音自动分割双门限法端点检测设置阈值求子带谱熵 图4.1 改进的谱熵法语音自动分割算法过程框图
(1) 首先读入之前录制好的连续语音文件;
(2) 对语音信号进行包括预加重、加窗分帧在内的预处理;
(3) 为了取得更精确地语音分割结果,人为添加一些经验性约束,如频谱范围设定在250~3500Hz,归一化谱概率密度上限设置为0.9; (4) 求出子带能量概率分布密度; (5) 求出子带谱熵; (6) 通过平滑处理设置阈值;
(7) 应用双门限端点检测法检测出音节起始点和终止点; (8) 对各个音节起始点和终止点进行标记; (9) 语音自动分割完成。
4.2 谱熵的定义
4.2.1 熵的定义及概念
信息熵的概念由香农首次提出,最初是热力学中的一个概念,在信息论中,
19
熵函数是用来表征信源输出的平均信息量的。一个系统混乱度越高,它的信息熵
就越高,一个系统越是有一定规律可循,它的信息熵就越低。在语音信号中语音段因为是人发出的声音,帧与帧之间存在着一定的联系,所以语音段的信息熵就低。相反,背景噪声基本上都是随机的,所以信息熵就高。充分利用这个差异,就能实现基于谱熵的语音自动分割算法。
假设信源发出有限个符号,它们构成的输出序列前后符号之间相互呈现统计为 P1,P2,P3?PN,则信息熵定义为错误!未找到引独立特征,N个符号出现的概率分别用源。
;
N?1?H(X)?E?log????PilogPi
Pi?i?1? (4-1)
其中
Pi?i?1N?1
(4-2)
需要注意的是,最初输入系统的语音信号是连续的,在计算它的信息熵之前需要对其进行采样量化,将连续信号转化为离散信号,然后才能对其进行求解。 4.2.2 谱熵
设含有噪声的语音信号时域波形为x(n),设在进行加窗分帧处理后得到的第i帧语音信号为xi?m?,则FFT变换后,其中第k条谱线频率分量fk的能量谱为Yi(k),
则每个频率分量的归一化谱概率密度函数为
pi?k??Yi?k?N/2?0Yi?l??l (4-3)
式中,pi(k)为第i帧第k个频率分量fk对应的概率密度;N为FFT长度。
每个分析语音帧的短时谱熵定义为:
N/2k?0Hi???pi?k?logpi?k?
(4-4)
4.2.3 谱熵的特征
设X为离散信源,其概率空间为
?x1,x2,?,xq??X?????p,p,?,p? ??Pxq????12(4-5)
则信源X的熵函数为
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于时域特征的语音自动分割算法实现(4)在线全文阅读。
相关推荐: