语音信号处理中基于加权自相关函数的基音提取
中文摘要
在语音信号处理中,很难去确定准确的基频。为了解决这个问题,本文提出基于自相关函数的加权基音检测法。首先,因为平均幅度差函数的方法与自相关函数有相同的性质,根据自相关函数,我们用平均幅度差函数倒数的平方作为权重系数。最后,我们获取一个基音提取的新算法。此外,基音平滑处理是为了获取更好的效果。仿真实验结果显示这个新的算法可以进行基音检测。此外,它也提高了基音检测的精确度。
关键字——语音信号处理 基音检测 加权自相关函数 平均幅度差函数
基音是一个谐波信号中的基频。基音段在语音处理中扮演着一个重要的角色。一般来说,音调分类是根据基音曲线;基于波形拼接的语音合成需要对基音轨迹修改;汉语言识别系统使用基音轨迹来识别语音,这对于消除歧义来说很重要;音调周期在文本语言合成中也起着关键作用。音调检测的目的是找到与声带振动一致地的基音段曲线。基音段的精度和实时性在语音信号处理中是非常重要的。为此,已经提出了许多提取语音信号基音的方法,诸如短期自相关函数,短时平均幅度差函数,谱距离法,端点检测等等。这些基音提取方法基于语音信号短时间平稳性。为此,准确和有效的基音提取功能,其预处理以及用于基音检测的平滑处理是精确基音检测的关键。
为了降低信噪比,[2]提出了一种ACF来提取噪声信号的基音。[3]提出了一种利用三个功率的振幅谱代替传统的二次幂的噪声信号的鲁棒基音检测算法,以通过带通滤波器调整语音频谱。提出了一种基于反向滤波的AR模型,以降低噪声信号的检测误差。[5]使用形态滤波器去除语音信号预处理中的噪声,然后通过小波变换方法检测音调频率,提高了基音检测的鲁棒性。[6]提出了一种基于AMDF的算法来基音检测。 [7]使用短期能量通过判断声音/无声段来检测基音主体。
大多数基音估计算法仅使用AMDF或ACF来检测基音周期,但是存在大量的干扰波。考虑在AMDF和ACF中出现在相同时间的极值,提出了一种使用由AMDF加权的自相关函数的新的基音提取方法。与ACF或AMDF相反,该方法减少有效地干扰波,这提高了噪声环境中的基音检测的精度。
[4]
一、自相关函数
1.1短时自相关函数计算公式:
N?k?1Rn(k)?m?0?S(m)Snn(m?k) (1-1)
? ?
N:窗长; Sn(m):加窗语音信号
语音有两种:浊音和清音。浊音信号的自相关函数具有基频的倍数的峰值,而清音信号没有。因此,可以通过计算相邻峰值位置的距离来估计基音周期。 图1显示了用自相关函数的音调检测过程。
图1.1:ACF的音调检测程序
根据图1.1,我们可以估计音调周期通过以下步骤:
a)获取语音信号; b)通过预处理获得固定语音段; c) 剪切静止语音,消除共振峰的干扰; d)通过自相关在基频的倍数中得到语音信号的峰值; e)通过峰值估计语音信号的音调周期
二、平均误差函数
2.1平均幅度差函数计算公式:
N?k?1Fn(k)?m?0?S(m?k)?S(m) (2-1)
nnFn(k)与声信号具有相同的周期性质,但它具有基频的倍数的波谷而不是波峰。
AMDF算法具有与ACF估计基音周期的类似过程,不同之处在于AMDF使用
波谷,而ACF使用波峰。 图2.1显示了AMDF估计基音周期的过程。 切割波处理 帧,终点检测 输入语音信号 短时平均幅度音调周期估计 计算 图2.1:AMDF的音调检测程序
三、加权自相关函数
ACF和AMDF都将出现基频的极值,所以我们可以利用这个特征来提取基频。为了强调ACF产生的真正的峰值,我们提出了一个自相关函数,用AMDF的权重系数的倒数的平方加权。图3.1示出了通过加权ACF估计基音周期的过程。