数字变声器

发布时间 : 星期六 文章数字变声器更新完毕开始阅读

第2章 设计方案

2.1 设计原理

采用线性预测参数合成法。线性预测参数合成法利用LPC语音分析方法,通过分析自然语音样本,计算出LPC系数,就可以建立信号产生模型,从而合成出语音。 2.2 设计步骤

它包括以下几个步骤:1、先用短时自相关法对基音周期估值。2、用LPC倒谱法提取共振峰。3、线性预测语音信号合成,根据线性预测的基本思想,用过去M个样点值来预测现在或未来的样点值。4、用matlap编程和matlap GUI界面设计。

第3章 建模

3.1 基于短时自相关法的基音周期估值

对语言信号进行低通滤波,然后进行自相关计算。在低通滤波时,采用巴特沃斯滤波器

3.1.1构建巴特沃斯低通滤波器

根据人的说话特征设定相应指标参数,对本段语音设计算出巴特沃斯模拟滤波器的阶数N为5,3dB截止频率归一化低通原型系统函数为:

,

,算出

为0.175,

其中将

带人

中,得到低通滤波器,

根据设定的滤波器编写matlab程序,当信号经过低通滤波器后,对原始信号滤波产生结果如下图所示,低通滤波后,保留基音频率,然后再用8kHz采样

5 / 24

频率进行采样,采样序列为x(n),然后进行下一步的自相关计算。

3.1.2语音信号的短时自相关函数

定义语音信号自相关函数如下:

其中k为信号延迟点数:

为语音信号;N为语音帧长度。经过低通滤波

之后,取160个样点数,帧长取10ms,对每帧语音求短时自相关,取得自相关最大点数,自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期。但是由于图中存在野点,编写matlab程序除去野点算出对应基音周期如图3所示,设基音周期值为PT,调动PT,接近女声,设新的为PT1。 3.2 LPC倒谱法提取共振峰

通过线性预测分析得到合成滤波器的系统函数为

其冲击响应为h(n),为预测系数。

?(n),首先根据同态分析方法,?(z)=logH(z),因为H然后求h(n)的倒谱h有H?(z)可以展开成级数形式,(z)是最小相位的,即在单位圆内是解析的,所以H?(z)=即H?(n)是存在的,设h?(n)=0,将?(z)的逆变换h,也就是说H等式两端分别对求导,得到:

6 / 24

=

有(1-)=, 令式左右两边Z的各次幂前

系数分别相等得到:

?(1)=1 h

?(n)= h+ 1

?(n)= h n>p

在本实验中,取预测阶数为10,语音的样点数为160,按照上式可直接从预

?(n),这个倒谱是根据线性预测模型得到,即称为LPC倒谱。测系数求得倒谱h谱的峰值基本上对应于共振峰频率,用GT表示共振峰;修改共振峰,使共振峰

接近女声、童声、老人声范围,新的为GT1. 3.3 线性预测语音信号合成

根据线性预测的基本思想,用过去M个样点值来预测现在或未来的样点值:

?(n)=y

?(n)是预测信号,为预测系数,y(n)为取样信号,预测误差(n): yE{(n)}=E{

为使E{(n)}最小,对求偏导,并令其为零,有:

E{[

]y(n-)}=0 =1,?,M

上式表明采用最佳预测系数时,预测误差与过去的样点值正交。由于语音信

7 / 24

号的短时平稳性,要分帧处理,对于每一个样点值记为 这段语音记为Yn。

对于语音段Yn,并记它的自相关函数为:

(j,i)=E{

(n)?, (n+N-1),

},对于语音段Yn,

n=1,?,M

根据Yule—walker方程,可以解出样值,用这种方法定期地改变激励参数u(n)和预测系数,并使用修改过后的基因周期和共振峰参数,就能合成出语音,合成语音样本如下:

S(n)=

+Gu(n)

为预测系数;G为模型增益;u(n)为激励;合成样本s(n);p为预测器阶数; 编写matlab程序,合成效果如下图所示:

第4章 GUI界面设计以及仿真图形和程序

在设计数字变声器的界面时,使用了MATLAB提供的可视化的界面环境Guide。相比较通过编写程序进行GUI的设计,可视化的界面环境更加方便快捷。 4.1 界面设计

在matlab新建GUI,添加各部件,完成如下图所示。

8 / 24

联系合同范文客服:xxxxx#qq.com(#替换为@)