基于正交变换的基音检测算法
2016-03-04刘宇驰杜秀娟
刘宇驰 杜秀娟
摘要:针对随机背景噪声下的基音周期检测,提出了一种基于正交变换的基音检测算法。该算法通过正交变换对含噪的语音进行消噪,再求消噪后语音的自相关函数(ACF)和平均幅度差函数(AMDF),对其求出比值(ACF/AMDF)的平方以突显基音周期的峰值,以便获取较准确的基音周期参数。实验结果表明,与单一的自相关法和平均幅度差函数法相比,该算法获取的基音周期有较高的准确性和对噪声有较强的鲁棒性。
关键词:语音;正交变换;自相关函数;平均幅度差函数;基音周期检测
中图分类号:TN911 文献标识码:A 文章编号:1009-3044(2015)36-0126-03
Abstract: Aiming at pitch period detection under random background noise,a kind of pitch detection algorithm based on orthogonal transform is put forward. Noisy speech signal was first preprocessed by orthogonal transform, the autocorrelation function (ACF) and the average magnitude difference function (AMDF) for speech signal were obtained. The square of the ratio for ACF and AMDF had been applied to emphasize the peak of the true pitch period. This algorithm can get the exact pitch of the speech signal in strong noisy environment. Experimental results indicate that, compared with single autocorrelation and average magnitude difference method, the proposed algorithm has better robustness and higher accuracy.
Key words: speech; orthogonal transform; autocorrelation function; average magnitude difference function; pitch detection
1 概述
基音周期是语音信号处理及语音识别中的重要参数之一,基音周期参数的准确度越高便对语音编码、合成、识别等方面越有益。经典的基音周期提取算法有短时自相关法(ACF)、短时平均幅度差法(AMDF)、倒谱法[1-2]及其改进算法[3-5]。理论上讲,这些算法可以准确地提取纯净语音的基音周期。但语音通常会受到外界随机背景噪声的干扰,所以噪声环境下的基音周期检测是十分有必要的。因此,为了在随机背景噪声环境下提取较为准确的基音周期参数,研究人员们提出了很多新的基音周期检测算法,一种无门限U_V判决和基音检测算法[6],基于自相关平方函数与小波变换的基音检测[7],基于线性预测的综合基音检测法[8]以及利用小波变换加权自相关的基音检测法[9]等,这些算法在不同的应用范围内都取得了显著的成效。本文提出了一种基于正交变换和自相关函数、平均幅度差函数相结合的基音检测算法。即首先利用正交变换滤除随机背景噪声的影响;然后把正交变换后的结果作为被处理信号,计算其自相关函数与平均幅度差函数比值的平方;最后利用在基音周期的各整数倍点上具有较高的峰值,通过搜索算法就可以检测出基音周期。该算法与单一自相关、平均幅度差法相比,具有较高的准确性和较强的鲁棒性。
2 基本原理
2.1 自相关函数
在语音信号中,清音帧是没有周期性的,故其自相关函数也没有周期性;浊音帧具有准周期性,它的自相关函数与信号具有相同的周期。
2.2 平均幅度差函数
AMDF只需加减法和取绝对值运算,与自相关函数相比其运算量明显提高。AMDF定义为:
对于具有周期性的语音帧[x(n)],其平均幅度差函数也呈周期性。平均幅度差函数在周期的各整数倍点上是谷值,而不是峰值。由此可见,AMDF也可以用于基音周期的检测,而且计算上都是加减法,故比短时自相关法的乘法运算更为简单。
自相关函数与平均幅度差函数比值的平方,记作[Sr(k)=(R(k)/γn(k))2],目的是突显基音周期的峰值以便获取较准确的基音周期。
由上式可以看出,要使均方误差达到最小,就必须舍去部分的特征值尽可能的小,即将n个特征值按大小排列,即[λ1>λ2>…>λm>…>λn],将[λm+1,…,λn]舍去后,应使余下的特征值保留最大的能量,即[ε]最小原则。所以K-L变换是在MSE准则意义下实现完全去除原信号中的冗余。
3算法步骤
本文具体算法步骤如下。
1)将语音信号分成长度为320点的语音帧x;
2)对该帧语音信号去直流,即语音信号的每个数据减去该帧数据的均值;
3)将去均值后的语音信号作自相关,取正半轴上的320点数据;
4)把自相关后的语音信号按照托普利兹矩阵的特点进行排列构造协方差矩阵Cx,为方便起见,现以[x=[12345]T]为例,省略(2)至(3)步骤直接对x构造协方差阵,即:
由[Cy]可以看出,除对角线以外的元素都为零,这说明[y]的各个分量互不相关。因此,对x作K-L变换后完全去除了原信号中的相关性。
7)将特征值从小到大排列,舍去较小的特征值,由余下较大的特征值及其对应的特征向量构造重构矩阵A,;
8)用重构矩阵A,对变换系数向量y作逆变换得到重构语音信号x,,即去除原语音信号x中的冗余达到语音增强的目的;
9) 将去噪后的语音信号x,作为输入信号,对其求取自相关函数和平均幅度差函数,利用自相关函数与平均幅度差函数比值的平方在基音周期的各整数倍点上具有较高的峰值,检测出基音周期;
10) 求出所有语音帧的基音周期后,对其进行平滑处理,纠正个别基音周期值的错误。
此算法在去噪过程中其变换核函数(变换矩阵)是随帧改变而改变的,每一帧语音都会更新一次变换核函数,所以该算法具有帧间自适应增强。
4 算法仿真实验
4.1 实验材料 (语音样本)
实验用的语音取自笔者的导师建立的语音样本库。其语料为诗词、短句和文章,录制转换后的数字语音均为8kHz采样、8bit量化、线性PCM编码。语音样本库的容量是186MB。实验时用的语音是从样本库中挑选的诗词和短句,加入高斯白噪声后形成带噪的语音。实验用的语音样本取帧长320点、帧移160点。
4.2 实验结果及其分析
图1是用不同方法进行基音检测的实验结果,图(a)是一帧浊音的自相关函数波形,图(b)是平均幅度差函数波形,图(c)是二者比值的平方波形。从图1可看出,二者比值的平方波形要比单一自相关、平均幅度差的波形尖锐得多,在峰值处尤为明显。在图2中,(a)为纯净的语音信号“蓝天,白云,碧绿的大海”的基音周期轨迹,(b)为单一自相关或平均幅度差函数方法对信噪比为5dB的带噪语音进行基音检测的实验结果,(c)为本文算法对带噪语音进行基音检测的实验结果。结果显示,加入噪声后提取的基音周期(图b)相比纯净语音的基音周期(图a),部分帧有缺失或减小现象,这是由于背景噪声的干扰造成的。而经过本文算法提取语音的基音周期轨迹(图c)几乎与纯净语音的基音周期轨迹(图a)一致。
5 结束语
本文将自相关函数、平均幅度差函数二者比值平方的基音检测法和正交变换相结合,提出了一种在随机背景噪声下的基音周期提取方法。实验结果表明,与单一的自相关法和平均幅度差函数法相比,该算法获取的基音周期有较高的准确性和对噪声有较强的鲁棒性,有利于语音识别和编码的实时处理。
参考文献:
[1] Rabiner L R.On the use of autocorrelation analysis for pitch detection[J]. IEEE Trans on Acoustics, Speech and Signal Processing,1977,25(1):24-33.
[2] Noll A M.Cepstrum pitch determination[J].Journal of the Acoustical Society of America,1967,41(2):293-309.
[3] Boersma P.Accurate short-term analysis of the fundamental frequency and the harmonics-to-noise ratio of a sampled sound[C]. Proc of the Institute of Phonetic Sciences of the University of Amsterdam,1993:97-110.
[4] Kobayashi H, Shimamura T. A modified cepstrum method for pitch extraction[C].The 1998 IEEE Asia-Pacific Conference on Circuits and Systems,1998:299-302.
[5] Ahmadi S,Spanias A S.Cepstrum-based pitch detection using a new statistical V/UV classification algorithm[J].IEEE Trans on Speech and Audio Processing,1999,7(3):333-338.
[6] 姜占才, 姚刚. 一种无门限U/V判决和基音检测算法[J]. 计算机工程与应用, 2011,47(25):140-142.
[7] 林琴, 郭玉堂, 刘亚楠. 基于自相关平方函数与小波变换的基音检测[J]. 计算机应用, 2009,29(5):1432-1436.
[8] 徐金甫, 陈小利. 基于线性预测的综合基音检测法[J]. 计算机工程与设计,2008,29(4):891-893.
[9] 陈小利, 徐金甫. 利用小波变换加权自相关的基音检测法[J]. 数据采集与处理, 2007,22(4):463-467.