基于matlab变声器的设计

时间:2022-08-02 08:34:24

基于matlab变声器的设计

【摘要】为了实现由男声变换到女声,在语音信号参数分析过程采用短时自相关法提取语音信号的基音周期,同时用LPC倒谱分析法分析共振峰的范围,通过matlab编写程序修改语音参数并接近于女声的范围,构置GUI界面。在实验中,输入一段语音信号,输出时即实现了由男声到女声的变换效果。因此对于语音信号参数的修改能够实现男女声音之间的变换。

【关键词】短时自相关法;LPC倒谱;语音信号;matlab;GUI

随着生活水平的提高,科技的不断进步,很多人为了娱乐,从而希望改变自己的声音;还有如今的许多的访问节目为了保护被访问者,都对声音进行了相应的处理。本设计通过编写matlab程序,修改相关声音参数,使其频率发生相应的变化,在输出时达到变声。

1.变声原理

在进行性别变声时,主要考虑基音周期、基频和共振峰频率的变化。其中男生、女生和和童声的基频、共振峰的关系如图1所示;基音周期改变时,基频、共振峰同时变化,若伸展既有男变女、女变童,反之亦可。本实验是基于男生录制的声音进行相关参数提取,修改接近于女声,实现男声到女声的变换。

2.提取参数

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

进行自相关的计算可采用两种方法,一种是对语音信号进行低通滤波,另一种是对语音信号进行中心削波处理。本实验采用第一种方法,通过matlab③编程采用自相关算法可以实现基音周期的估值,即对语音信号进行低通滤波,然后进行自相关计算。在低通滤波时,采用巴特沃斯滤波器。

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

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

根据设定的滤波器编写matlab程序,当信号经过低通滤波器后,对原始信号滤波产生结果如图2所示,低通滤波后,保留基音频率,然后再用2kHz采样频率进行采样,采样序列为x(n),后进行下一步的自相关计算。

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

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

其中k为信号延迟点数;为语音信号;N为语音帧长度。经过低通滤波之后,取160个样点数,帧长取10ms,对每帧语音求短时自相关,取得自相关最大点数,自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,从而估计出基音周期,但是由于图中存在野点,编写matlab程序除去野点算出对应基音周期如图3所示,设基音周期值为PT,调动PT,接近女声,设新的为PT1;

2.2 LPC倒谱法提取共振峰

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

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

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

在本实验中,取预测阶数为10,语音的样点数为160,按照上式可直接从预测系数{ai}求得倒谱④,这个倒谱是根据线性预测模型得到,即称为LPC倒谱。编写matlab程序,实现如图4所示,谱的峰值基本上对应于共振峰频率,用GT表示共振峰;修改共振峰,使共振峰接近女声范围,新的为GT1;

3.线性预测语音信号合成

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

上式表明采用最佳预测系数时,预测误差与过去的样点值正交。由于语音信号的短时平稳性,要分帧处理,对于每一个样点值记为,这段语音记为Yn。

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

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

为预测系数;G为模型增益;u(n)为激励;合成样本s(n);p为预测器阶数;

编写matlab程序,合成效果如图5所示:

4.GUI界面设计

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

打开一段男生录制的声音,进行仿真实验,效果如图7所示。

5.结论

在实验中,用短时自相关法及LPC倒谱分析方法提取语音参数,用线性预测合成语音能够实现由男声到女声的变换。这种分析方法简单易行,且对参数有一个较好的把握,预测误差也会受到相应的变化,整个过程不会对合成效果产生较大的偏差,具有可行性;本实验最大不同点在于新建的LPC倒谱法,用于共振峰的提取,能够对参数比较有效的控制,减去比较复杂计算以及激励问题;整个过程成功实现由男声到女声的变换。

注释:

①张雪英.数字语音信号处理及matlab仿真[M].电子工业出版社,2011.

②高西全,丁玉美.数字信号处理(第三版)[M].西安电子科技大学出版社,2011.

③陈杰.Matlab宝典.电子工业出版社[M].2007.

④杨丹,姜占才,余菳良,李振起.语音信号共振峰提取方法的研究分析[C].[s.n.],2012.

⑤赵力.语音信号处理[M].机械工业出版社,2008.

⑥贺艳平.基于线性预测下的语音合成[C].西北民族大学学报,2010.

⑦陈生潭,郭宝龙,李学武,高建宁.信号与系统(第三版)[M].西安电子科技大学出版社,2008.

上一篇:全自动软水器控制板设计 下一篇:基于STM32的多路电压采集研究