最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于循环自相关函数的浊音端点检测

来源:动视网 责编:小OO 时间:2025-09-26 05:24:50
文档

基于循环自相关函数的浊音端点检测

基于循环自相关函数的浊音端点检测李皓1,2,唐朝京1(1.国防科学技术大学电子科学与工程学院,长沙410073;2.中国人民75753,广州510600)摘要:为提高浊音端点检测的准确率和效率,提出一种基于循环自相关函数的检测方法。设计语音的循环自相关函数,利用该函数与短时能量定义状态及转移损失函数,通过动态规划方法判别浊音的端点,并采用不同分类判断方法与检测函数进行测试。实验结果表明,与基于能量及谱墒的方法相比,该方法的抗噪性能较好。关键词:浊音;端点检测;循环自相关函数;短时能量
推荐度:
导读基于循环自相关函数的浊音端点检测李皓1,2,唐朝京1(1.国防科学技术大学电子科学与工程学院,长沙410073;2.中国人民75753,广州510600)摘要:为提高浊音端点检测的准确率和效率,提出一种基于循环自相关函数的检测方法。设计语音的循环自相关函数,利用该函数与短时能量定义状态及转移损失函数,通过动态规划方法判别浊音的端点,并采用不同分类判断方法与检测函数进行测试。实验结果表明,与基于能量及谱墒的方法相比,该方法的抗噪性能较好。关键词:浊音;端点检测;循环自相关函数;短时能量


基于循环自相关函数的浊音端点检测

李 皓1,2,唐朝京1

(1. 国防科学技术大学电子科学与工程学院,长沙 410073;2. 中国人民75753,广州 510600)

摘 要:为提高浊音端点检测的准确率和效率,提出一种基于循环自相关函数的检测方法。设计语音的循环自相关函数,利用该函数与短时能量定义状态及转移损失函数,通过动态规划方法判别浊音的端点,并采用不同分类判断方法与检测函数进行测试。实验结果表明,与基于能量及谱墒的方法相比,该方法的抗噪性能较好。

关键词:浊音;端点检测;循环自相关函数;短时能量;动态规划;损失函数

Voiced Sound Endpoint Detection Based on

Circular Autocorrelation Function

LI Hao 1,2, TANG Chao-jing 1

(1. College of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China;

2. Troop 75753, The Chinese People’s Liberation Army, Guangzhou 510600, China)

【Abstract 】To enhance the accuracy and efficiency of endpoint detection, a detection method based on Circular Autocorrelation Function(CACF) is proposed. The method calculates CACF of the speech, defines the loss functions of state and state transforming with the values of CAF and the short-term energy, and decides the voiced endpoints with dynamic programming. Experimental results display several comparisons including that among detections using the traditional Autocorrelation Function(CAF), average magnitude difference function and the CACF, which demonstrate that CACF improves the accuracy and efficiency of endpoint detection and better resists the acoustic noise than the traditional energy and spectral entropy method.

【Key words 】voiced sound; endpoint detection; Circular Autocorrelation Function(CACF); short-term energy; dynamic programming; loss function DOI: 10.3969/j.issn.1000-3428.2011.22.002

计 算 机 工 程 Computer Engineering 第37卷 第22期

V ol.37 No.22 2011年11月

November 2011

·专栏· 文章编号:1000—3428(2011)22—0005—03文献标识码:A

中图分类号:TN912.34

1 概述

浊音端点检测的目的是从输入的语音信号中提取出包含

浊音的部分,滤除清音及噪音段,提高语音识别系统的识别率和效率,其研究重点在于特征提取和分类判别方法。

在特征提取方面,常用的特征包括能量[1-2]、谱熵[3]等。在信噪比高或噪声平稳的条件下,上述特征在语音段与非语音段中的区别明显,但在噪声环境中区别不明显。针对该情况多特征融合的检测方法应运而生,如文献[4]采用能量、过零率、谱熵3种特征进行检测,文献[5]使用唇部视觉特征和音频特征相融合的方法进行检测。上述方法能有效提高检测的抗噪性,但特征的增多也增加了特征提取的计算量和分类判断的步骤。

清浊判断多采用阈值法,如文献[6]先计算语音信号各帧的短时自相关函数,再检验函数峰值是否大于某一阈值来判断元音帧端点;文献[7]通过Bark 小波变换系数的乘积与实验阈值进行比对来判断语音段的端点。但上述方法对阈值的设定通常带有经验性,当设定的域值与当前实际情况不符时算法的正确性较低。文献[8-9]采用动态阈值的方法可使阈值在检测过程中随噪声的变化而自适应地调整,但初始阈值的设定仍带有经验性,且对后续阈值调整结果影响较大。

本文采用循环自相关函数检测浊音段,既保留原自相关函数对噪声适应性良好的优点,又避免了函数峰值幅度随着求和项数减少而逐渐下降的问题,同时也降低了计算的复杂度。清浊判断则采用动态规划法,从而避免了阈值设定的经验性,且对检测结果有一定的平滑作用。

2 循环自相关函数

浊音具有“准”周期性,其周期也称为基音周期,通过对浊音信号计算自相关函数(Autocorrelation Function, ACF)可得到反映浊音周期的准周期序列,ACF 定义如下:

0()()(),01

N k

n R k s n s n k n N −==+ −∑≤≤ (1)

其中,()s n 为语音序列;N 是序列中采样点的个数。设()s n 的周期为T ,对浊音帧的()R k 序列,可在n kT =(k 为整数)处出现峰值,理论上1k =处峰值幅度最大,此时n T =,因此实际中常用除原点外第1个最大峰值的出现时间作为该浊音帧基音周期。文献[6]将()R k 序列的最大峰值幅度作为浊音检测的依据,并可证明该方法有较强抗噪性,但其用于浊音检测有如下问题:(1)随着k 值增大,求和项数逐渐减少,从而导致函数峰值幅度有逐渐下降的趋势,使得n T =处的峰值幅度被削减,进而影响清浊音判定;(2)作为语音识别的前处理,其计算复杂度相对较高,常用的短时能量法的计算复杂度仅为()O N ,而ACF 计算复杂度为2()O N ,采用FFT 快速计算仍为(log )O N N 。文献[10]采用平均幅度差函数(Average Magnitude Difference Function, AMDF)方法,AMDF 定义 如下:

基金项目:国家部委基金资助项目

作者简介:李 皓(1982-),男,博士研究生,主研方向:多媒体通信,可视语音合成;唐朝京,教授、博士生导师

收稿日期:2011-07-07 E-mail :lihao7183200@163.com

1

()|()()|,01

N k

n

D k s n s n k n N

N

=

=−+−

∑≤≤(2)

式(2)用两序列相减代替相乘以减少计算时间,但由于现代

PC处理器计算乘法和加法速度基本相同,因此效果不显著,

且仍存在峰值幅度逐渐下降的问题。文献[11]使用了基于循

环平均幅度差函数(Circular AMDF, CAMDF)方法,定义如下:

()|()(mod(,))|,01

N k

n

D k s n s n k N n N

=

=−+−

∑≤≤(3)

式(3)解决了问题(1),但其计算复杂度仍为2

()

O N。为解

决上述问题,提高浊音检测性能,本文提出采用循环自相关

函数(Circular ACF, CACF),即将式(1)采取循环卷积的方式

重写为:

[]

()()mod(,),01

N k

n

R k s n s n k N n N

=

=+−

∑≤≤(4)

式(4)可通过快速运算[12]使计算复杂度降为()

O N,且由

于求和的乘积项数相同,其与CAMDF一样能克服峰值幅度

逐渐下降的趋势。通过实验发现,通过搜索浊音的CACF和

CAMDF最大峰值可较准确估计出基音周期,这为下文的浊

音检测奠定了良好的基础。

图1分别为对某帧浊音采用ACF、AMDF、CACF、

CAMDF计算的结果,其中,帧长为N=240;采样率8 kHz,

实际基音周期值应为7 ms。

(a)ACF (b)AMDF

4

(c)CAMDF (d)CACF

图1 某帧浊音的计算结果比较

可见,ACF的结果在1.88 ms及3.75 ms处有更高的峰

值,AMDF的结果在14.37 ms处也有更高的峰值,而CACF、

CAMDF在7 ms处出现了最大的峰值,与实际基音周期相近,

因此,在下一节浊音检测步骤中直接选取CACF函数的最大

峰值幅度代表语音帧的浊化程度。

3 浊音检测

在基于自相关函数的浊音检测中,常用的方法是设定合

适的阈值,根据自相关序列的最大峰值点是否大于该阈值判

定该帧的清浊情况。目前的做法主要是采用经验阈值和中值

滤波,而阈值的设定通常带有经验性,需要在实际情况中进

行调整以保证其合理性;中值滤波仅适用于孤立误差,误差

点较多时平滑效果不理想。本文不采用设定阈值的硬判决方

法,而是运用动态规划的方法,根据浊音状态与清音或噪声

状态的错判损失最小来判断当前帧状态,同时加入前后帧状

态的影响,使判决结果趋于平滑,可适用于误差点较多的情

况,检测方法如图2所示。其中,方框表示各帧状态的错判

损失,损失函数s上标表示状态,下标表示帧数。

t

s0

1

t

s

+

1

s1s

图2 动态规划检测示意图

在实际应用中,将状态分为2种:1

state为浊音;0

state

为清音或噪声。以第t帧为例,0

t

s表示将当前帧t判为清音

或噪音的损失,1

t

s表示将当前帧t判为浊音的损失,连线为

各点状态转移损失函数,定义状态损失及转移损失函数如下,

其中各帧采样点数为N:

(1)状态损失函数

状态损失函数的作用是判断当前帧的状态,其中将当前

第t帧判为清音或噪音的损失函数为:

0max[()]/

t t

s R k E

=(5)

其中,()

R k为第t帧的CACF计算结果;max[()]

R k表示结果

的最大峰值幅度;

t

E为第t帧的短时能量,定义为:

2

1

()

N

t

n

E s n

=

=∑。由于max[()]

R k能够较好地反映该帧语音的周

期性程度,因此选其作为当前帧浊化程度的判断,若当前帧

浊化程度越高,则0

t

s越大,判断当前帧为清音或噪音的损失

越大,否则情况相反。

将当前帧t判为浊音(1

state)的损失函数:

1

00

10.5

1[1arg(max(()))/]0.5

t

t

t t

s

s

s R k N s

⎧<

=⎨

−−>

⎪⎩

(6)

其中,arg(max(()))

R k表示()

R k最大峰值的帧索引。1t s根据0t s

值的不同取不同的结果,若00.5

t

s<,()

R k的最大峰值幅度

过小,则认为不存在基音周期,当前帧不是浊音帧,且有

10

t t

s s

>;若00.5

t

s>,则当前帧可能是浊音帧或是由噪音产生

的浊化,此时需同时考虑max[()]

R k及其帧索引,若0t s越大,

同时arg(max(()))/

R k N越小,使得1t s越小,越可判定当前帧

为浊音;若当前帧是噪声引起的浊化,则arg(max(()))/

R k N较

大,根据式(6)有可能10

t t

s s

>,将当前帧判为噪声。

(2)转移损失函数

1

1

/10

(1,)

/01

t t

t t

E E state state

Tr t t

E E state state

+

+

−>

−=⎨

−>

(7)

转移损失函数用于保持状态的连续性,函数值越大,表

示转移损失越大,则越可能维持当前状态不变,使得检测结

果趋于平滑。

t

E和

1

t

E

+

分别为第t帧和1

t+帧的短时能量,

“−>”表示转移方向,该方向可通过式(5)、式(6)状态损失

函数判断得到。当状态转移方向为10

state state

−>,即浊音状

态到非浊音状态时,由于能量变小,则有转移损失函数值

1

/

t t

E E

+

也越小;若实际状态并非10

state state

−>,1/t t

E E

+

较大,进而状态变化的代价也越大,从而对当前状态的改变产

生抑制作用。

由上述对各状态和转移损失函数的定义,根据动态规划

方法选择最优路径,使代价函数损失最小,则第1

t−帧~第t帧

的最优路径的选择为:

01

()(1)min((1,))min(,)

t t

C t C t Tr t t s s

=−+−+(8)

通过式(8)选择最优路径,可避免阈值设定的经验性,同

时使得到的结果趋于平滑。上述通过动态规划进行浊音检测

的复杂度是()

O TN,其中,T为帧数;N为状态数,此处状

态数为2。

第37卷第22期7

李皓,唐朝京:基于循环自相关函数的浊音端点检测

4 实验结果与分析

实验硬件平台为PC机,配置主频2.0 GHz,内存1 GB,

软件平台为Matlab,实验的语音内容来源于Bi-VSSDatabase

(Bimodal Visual Speech Synthesis Database)双模态语料库[13]。

该库覆盖了汉语所有的高频词汇及各种语气,其中包含5人

(3男2女)共31 070个语句,朗读者均以较均匀的速度在安

静环境下朗读每个句子。从语料库中随机选取了1 000句(男

女各500句)语音作为测试语音集,语音采样率8 kHz,采样

精度16 bit,语音处理帧长30 ms,帧移15 ms,对测试语音

作手工标号区分实际语音与背景噪声,以此作为测试端点检

测正确率的标准。采用的指标包括:浊音段的正检率,错检

率和漏检率以及平均处理速度,各指标定义如下:

正检率=浊音段正检数/应检总数

错检率=清音段误检为浊音的个数/应检总数

漏检率=浊音段误检为清音的个数/应检总数

平均处理速度=测试语音段总帧数/总处理时间

4.1 采用不同分类判断方法及检测函数的测试

为测试循环自相关函数的有效性,对输入语音采用不同

的函数计算对浊音检测的影响,分别为上文提到的ACF、

AMDF、CAMDF与CACF,运用本文的动态规划方法进行结

果对比;为测试清浊判断的性能,分别使用本文动态规划方

法与文献[6]的简单阈值方法对输入语音的CACF计算结果进

行实验对比,对比结果如表1所示。可以看出,CACF与

CAMDF由于在检测基音周期时产生的错误较少,其结果的

最大峰值幅度能更准确地体现语音的浊化程度,具有较高的

正检率。

表1 采用不同分类判断方法及检测函数的测试结果

分类判断方法检测函数正检率

/(%)

错检率

/(%)

漏检率

/(%)

平均处理速度

/(f·ms−1)

ACF 84.25 3.21 15.75 8.8

CACF 95.33 3.10 4.67 11.4

AMDF 83.40 6.31 16.6 9.1 动态规划方法

CAMDF 95.27 6.22 4.73 6.1 阈值方法CACF 94.32 12.10 5.68 15.7 动态规划方法比阈值方法的性能更好,由于浊音的中间段在基音周期值上一般具有较大的波峰,因此较少产生漏检,但浊音边缘基音周期一般波动较大,容易将小段清音误检为浊音。动态规划法由于有前帧的影响因而能在一定程度上保持检测结果的连续性,纠正部分错检点及漏检点。

ACF可以采用FFT计算,使得计算复杂度低至(log)

O N N,CACF可采用文献[12]的快速算法,使得复杂度降至()

O N,AMDF和CAMDF的计算复杂度为2

()

O N。由于当前计算机对于加法和乘法所耗计算时间基本相同,因此CACF可取得相对较少的耗时,另由于在后处理中阈值方法最为简单,因此其在采用CACF进行浊音检测的情况下有较高的处理速度。

4.2 抗噪性能测试

对上述纯净语音分别加入白噪声、粉红噪声,以及火车噪声,令信噪比均为20 dB或10 dB,并分别采用本文方法、文献[3]基于谱熵的方法,以及传统的能量和过零率方法分别测试浊音检测的正检率和错检率。抗噪性能测试结果如表2所示。其中,数据中的前者表示正检率;后者表示错检率。

可以看出,本文方法的正检率和错检率相对于其他2种方法有一定程度的改善,且由于采用了自相关函数,并在检测步骤中加入了前后帧状态的影响,使检测结果更趋于平滑,因此,受噪声影响较小,特别是对白噪声及火车噪声的抗噪性较强;其中能量和过零率的方法在信噪比较高的情况下检测性能较好,但受噪声影响最大。

表2 抗噪性能测试结果(%)

白噪声粉红噪声火车噪声检测方法干净语音

20 dB10 dB 20 dB 10 dB 20 dB10 dB

本文方法95.3/3.194.5/3.693.4/4.1 91.1/5.2 88.2/7.3 94.2/3.2.7/5.3谱墒法[3]94.8/4.292.7/5.0.7/5.8 .5/4.6 85,5/8.1 .3/7.583.4/8.7

能量和过零率95.2/2.991.3/5.185.2/8.7 88.9/6.3 82.4/8.5 87.5/8.981.3/10.2

5 结束语

本文提出一种基于循环自相关函数的浊音检测方法,其优点在于:(1)采用循环自相关函数提高了基音周期估值的准确性,降低了计算复杂度,并具有一定的抗噪性,为浊音检测奠定了良好的基础。(2)浊音检测过程中采用了动态规划法,根据状态及转移损失函数最小判别当前帧状态,避免了经验阈值的设定,并对检测结果起到平滑作用。实验结果表明,本文方法能够提高端点检测的准确率及效率,相对于传统的能量及过零率方法以及基于谱墒的方法具有更好的抗噪性。下一步研究是将该浊音检测方法应用于声韵母切分问题。

参考文献

[1] Rabiner L R, Sambur M R. An Algorithm for Determining the

Endpoint of Isolated Utterance[J]. Bell System Technical Journal, 1975, 54(2): 297-315.

[2] 胡瑛, 陈宁. 基于小波变换的清浊音分类及基音周期检测

算法[J]. 电子与信息学学报, 2008, 30(2): 353-356.

[3] 王让定, 柴佩琪. 一个基于谱熵的语音端点检测改进方法[J].

信息与控制, 2004, 33(1): 77-81.

[4] Hu Hwai-tsu, Yu Chu, Lin Chih-huang. Usefulness of the Comb

Filtering Output for Voiced/Unvoiced Classification and Pitch Detection[C]//Proceedings of the 1st International Conference on Signal Processing Systems. Singapore: IEEE Press, 2009.

[5] 刘鹏, 王作英. 多模式语音端点检测[J]. 清华大学学报: 自

然科学版, 2005, 45(7): 6-9.

[6] 邝航宇, 张军, 韦岗. 一种基于检测元音的孤立词端点检

测算法[J]. 电声技术, 2005, (3): 40-48.

[7] 尹晨晓, 郭英, 张碧锋, 等. 基于Bark小波的语音端点检测

算法[J]. 计算机工程, 2011, 37(12): 276-278.

[8] 钱博, 李燕萍, 唐振民, 等. 基于频域能量分布分析的自适

应元音帧提取算法[J]. 电子学报, 2007, 35(2): 279-282.

[9] Gao Hongbin, Pang Weiyi, Huang Chunru, et al. A Speech End-

point Detection Based on Dynamically Updated Threshold of Box-counting Dimension[C]//Proceedings of 2009 International Forum on Information Technology and Application. Chengdu, China: [s. n.], 2009.

[10] Ross M, Shaffer H. Cohen A, et al. Average Magnitude Diff-

erence Function Pitch Extractor[J]. IEEE Trans. on Acoustics, Speech, and Signal Processing, 1974, 22(5): 353-362.

[11] 张文耀, 许刚, 王裕国. 循环AMDF及其语音基音周期估计

算法[J]. 电子学报, 2003, 31(6): 886-0.

[12] 汪裕武. 循环卷积的快速算法[J]. 通信学报, 1991, 12(6): 45-48.

[13] 赵晖, 林成龙, 唐朝京. 基于视频三音子的汉语双模态语料

库的建立[J]. 中文信息学报, 2009, 23(5): 98-103.

编辑金胡考

文档

基于循环自相关函数的浊音端点检测

基于循环自相关函数的浊音端点检测李皓1,2,唐朝京1(1.国防科学技术大学电子科学与工程学院,长沙410073;2.中国人民75753,广州510600)摘要:为提高浊音端点检测的准确率和效率,提出一种基于循环自相关函数的检测方法。设计语音的循环自相关函数,利用该函数与短时能量定义状态及转移损失函数,通过动态规划方法判别浊音的端点,并采用不同分类判断方法与检测函数进行测试。实验结果表明,与基于能量及谱墒的方法相比,该方法的抗噪性能较好。关键词:浊音;端点检测;循环自相关函数;短时能量
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top