语音信号的自相关基音周期检测

2011-02-26 09:16
上海电力大学学报 2011年3期
关键词:浊音基音清音

赵 萍

(上海电力学院计算机与信息工程学院,上海 200090)

基音周期的估计称为基音周期检测,基音周期检测的最终目的是得到与声音振动频率吻合较好的基音周期变化轨迹曲线.在语音信号的处理中只有准确捕获语音信号参数,才能高效地识别语音.而在这些语音信号参数中,基音周期提取的精确性和效率直接影响到合成语音能否真实快速地再现原始语音信号.本文在基音周期检测一般方法的基础上,对自相关运算过程加以修改,并给出使用该种方法对两段语音信号进行基音周期检测的结果.

1 语音信号基音周期检测一般过程

语音信号基音周期检测的一般处理过程[1]如图1所示.

图1 基音周期检测的处理过程

图1 中各部分的功能及原理主要有:

(1)带通滤波模块 语音信号包含非常丰富的谐波分量,基音频率最低可达80 Hz,最高可达500 Hz,但基音频率大多数分布在100~200 Hz,为了提高检测的准确度,算法中引入了一个60~500 Hz的带通滤波模块滤除语音帧的高次谐波分量;

(2)取样模块 从频率为8 000 Hz的语音信号中截取Length(样点数)长的个样点值,一般取样点数设计成帧长度的整数倍;

(3)分帧模块 主要将语音去样点分割为若干个语音帧,语音信号属于短时平稳信号,一般认为在10~30 ms内语音特性基本上是不变的,或者变化缓慢,因此可从中截取一段进行频谱分析,在范例中取一帧信号的长度为30 ms,即每帧为240点;

(4)短时能量分析 对分割好的语音帧信号进行清浊音的判断,知道浊音变清音的时刻,提取浊音段;

(5)自相关分析 计算浊音段信号的自相关函数,根据自相关函数的周期性计算语音信号的基音周期.

2 浊音清音的分辨

用8 000 Hz的采样频率采集到两个人的声音,经过滤波、取样、分帧后,进行短时能量分析.短时能量为:

N——窗长;

h(n)=w(n)2.

算法中采用布莱克曼窗,具体实现代码如下:

两个语音信号短时能量分布如图2所示.浊音有基音周期,而清音的基音周期为零,因而清浊音判断是基音周期检测的第一步.语音浊音段的短时平均能量远远大于清音段的短时平均能量,因此通过短时能量En的计算可以区分清音段与浊音段,即En(浊)>En(清).

图2 语音信号短时能量分析

根据图2中的曲线变化情况,短时能量由高到低的跳变可定出浊音变为清音语音的时刻.浊音段语音信号1为4 901~5 140(一帧240个点),语音信号2为8 001~8 240.

3 自相关实现基音周期检测的过程

3.1 自相关法检测的信号周期

对于两个长度相同,能量有限的语音信号自相关函数[2]:

自相关函数反映了信号x(n)与其经过一段延迟后的x(n+m)的相似程度.如果序列x(n)具有周期Np,则其自相关函数是准周期函数,周期性变化与x(n)序列相同[3].浊音信号具有准周期性,浊音信号的自相关函数在基音周期的整数倍位置上出现峰值,而清音信号的自相关函数没有明显的峰值.对于浊音信号,只要检测到N的位置,就可以估计语音信号的基音周期值.

3.2 极性相关算法

由于乘法运算的工作精度和频率较低,为了提高运算速度,采用1 bit量化的方法将进行相关运算的信号进行简化[4].这样,式(2)由两信号的乘法运算转化为x(m)的加法运算.信号的1 bit量化公式为:

图3是采用极性相关算法计算出来的基音频率.由图3可知,其结果与直接计算的结果相同.实现方法如下:

x12=y13(4901:5140);%对语音信号1的浊音段截取;

图3 自相关基音周期检测结果

3.3 自相关函数峰值估算

自相关函数是准周期函数,各个峰值随时间的增加而逐渐变小,因而在自相关运算中可以采用两次计算的方法来进一步减少自相关运算的点数,以达到提高运算速度的目的.具体方法如下:

(1)进行隔点自相关运算,估计出峰值大概位置,如峰值位置为Tmax;

(2)进行精确计算,使自相关运算的点数N≥2Tmax-1,以减少误差.

图3中,对声音1和声音2若隔点自相关运算时隔4点进行,则其自相关运算的点数为60;若进行精确计算的点数分别为101和61,则两次共进行相关运算点数分别为161和121,计算的点数分别减少至原来的67%和51%.

此外,在搜索峰值的过程中,由于基音频率分布在80~500 Hz之间,所以相关运算的峰值在16~100点之间搜索即可.采用以上方法检测出声音1的基音频率为205.128 2 Hz(周期为4.8 ms),声音2的基音频率为307.692 3 Hz(周期为3.25 ms).

4 结语

本文利用信号的自相关运算实现了两个语音信号的基音周期检测.在检测过程中采用极性相关和峰值估计法,一方面可降低相关计算中乘法的计算量,另一方面也降低了进行自相关运算的点数,从而提高了基因周期检测的效率.这种极性相关和峰值估算的方法还可应用到信号的互相关峰值搜索过程中,使利用互相关运算对流量和速度等进行检测的系统具有更好的实时性.

[1]付青青,吴爱平.基于Matlab的语音信号自相关基音检测[J].长江大学学报,2006,3(4):99-101.

[2]万永革.数字信号处理的MATLAB的实现[M].北京:北京航空航天大学出版社,2007:65-66.

[3]王秀君,和应民,木建一.一种有效的语音基因周期提取算法[J].应用科技,2006,33(1):7-9.

[4]徐秉铮,欧阳景正.信号分析与相关技术[M].北京:科学出版社,1981:94-95.

猜你喜欢
浊音基音清音
《山水清音》
《园林清音》
基于基音跟踪的语音增强研究
日语半浊音的变化规律研究
清浊音分离抗噪的语音识别算法的研究
有关鼻浊音使用实态的研究
——以NHK新闻为中心
一种改进的基音周期提取算法
基于计算听觉场景分析的改进清音分离方法
《山水清音图》
日语与永州方言浊音相似点小议①