matlab浊音段和清音段,语音端点检测及其在Matlab中的实现

文献

计算机时代2005年第8期

25

语音端点检测及其在Matlab中的实现

(桂林工学院科技处,广西桂林541004)

摘要:介绍了语音的基本特征和语音端点检测的基本方法,对基于Matlab的端点检测算法进行了分析,然后,进行一个语音截取合并的实验,结果表明:用Matlab进行语音处理不仅编程简便,也具有很好的效果。关键词:语音端点;检测;短时能量;过零率;Matlab

1引言

语音端点检测是语音分析、合成和识别中的一个重要环节,目的是从包含语音的一段信号中找出语音的起始点及结束点,从而只存储和处理有效语音信号。有效的端点检测不仅可以减少数据的存储量和处理时间,而且能排除无声段的噪声干扰。端点检测的困难在于无声段或者语音段前后人为呼吸等产

生的杂音、语音开始处的弱摩擦音或弱爆破音以及终点处的鼻

音,这些使得语音的端点比较模糊,需要综合利用语音的各种信号特征,从而确保定位的精确性,避免包含噪音信号和丢失语音信号。本文讨论语音的特点、端点检测的一般方法及在

Matlab中的实现方法,最后给出一个简单的应用实例。

2语音特点及端点检测方法

语音信号一般可分为无声段、清音段和浊音段。无声段是

背景噪声段,平均能量最低。浊音段为声带振动发出对应的语

音信号段,平均能量最高。清音段为空气在口腔中的摩擦、冲击或爆破而发出的语音信号段,平均能量居于两者之间。

采用基于能量的算法来检测浊音通常是可行也是可靠的。但对清音而言,除非信号具有极高的信噪比,例如在隔音室中录制的高保真度录音(对于这种高信噪比录音,最低电平语音

的能量超过背景噪声能量几倍到几十倍),否则,采用能量算法从背景噪声中鉴别出清音就不够可靠了。

此时,需要用到语音信号的另一重要特征,即过零率:一定时间内信号穿越零电平的次数。清音段与无声段的波形特点有明显不同,无声段信号变化比较缓慢,清音段信号由气流摩擦产生,在幅度上的变化比较剧烈,穿越零电平次数较多。经验表

明,通常清音段过零率最大,无声段的过零率的变化范围较大。

可见,振幅特征适合检测浊音,过零率适合检测清音,为了同时检测两者,一般综合利用两种特征。

实际处理中,由于语音信号是一种非平稳信号,一般对数字化语音进行分帧处理,并认为在一帧内它是平稳的。一帧内的信号能量值和过零次数被称为短时能量和过零率。下面分别描述它们的定义和检测方法。

2.1短时能量

1—1.1

E=艺Ix(n)I或E=乞xZ(n)

n=l

n=1

方数据式中x(n)为信号幅度,N为语音帧长。

检测过程:将短时能量与给定能量门限Gl相比,若大于它并能在一定时问内达到门限G2并维持给定帧数(防止把短时脉冲误判为语音),则认为是语音起点,否则继续向下找。判定起点后,继续将短时能量与给定门限G3比较,当小于它并能在一定时间内降到门限G4并维持给定帧数(防止将语音中的小停顿误判为语音结束),认为是终点,否则继续向下找。

2.2过零率

N一1

11

ZCR=乞Ix(n)一x(n+1)l

n=l

求过零率时,为避免无声段过零率太大,一般还要设定一个门限delta,规定只有当相邻样点异号且差值大于delta时,才将过零率数值加l。

检测过程:用短时能量方法找到语音起点后,再计算起点之前几帧的过零率,把求得的结果与给定门限比较,连续3帧都大于门限则认为其中第一帧是语音起点。因为有些音节以清

音开始,单用能量方法检测可能会漏音,而用过零率则可以避

免这种情况。

端点检测可以采用上面描述的分别用短时能量和过零率与门限比较的双门限算法,也可以把短时能量和过零率两者的乘积(能频积)作为检测参数,此时只需进行单一门限比较。3基于Matlab的语音处理

Madab(MarxLaboratory)是目前非常流行的科学计算

和工程计算软件工具,提供了一个高性能的数值计算、信号处理和可视化开发环境以及大量具有特殊用途的函数和工具箱,

其中包括基本的语音信号处理函数。

基本语音处理函数包括wav文件的读写函数,声卡的录音

和放音函数及波形的显示函数等,还有一些第三方开发的语音处理工具(如Voicebox等)。利用这些函数和工具,我们就可

以方便地进行一些语音的处理工作。例如:

(1)语音采样可以用以下命令实现:

x=wavrecord(k+fs,fs,‘dtype’):

其中x为语音采样信号,fs为采样率,k为采样秒数,。dtype’为

采样数据类型。

(2)语音数据也可以用以下命令从语音文件中读取:

x=wavread('filename。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值