《变声器设计方案.pdf》由会员分享,可在线阅读,更多相关《变声器设计方案.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档MATLAB变声器的设计前言随着生活水平的提高,科技的不断进步,很多人为了娱乐,从而希望改变自己的声音;还有如今的许多的访问节目为了保护被访问者,都对声音进行了相应的处理。本设计通过编写 MATLAB程序,修改相关声音参数,使其频率发生相应的变化,在输出时达到变声。1 变声原理在进行性别变声时,主要考虑基音周期、基频和共振峰频率的变化。其中男生、女生和和童声的基频、共振峰的关系如图1 所示;基音周期改变时,基频、共振峰同时变化,若伸展既有男变女、女变童,反之亦可。本实验是基于男生录制的声音进行相关参数提取,修改接近于女声,实现男声到女声的变换。人群基频分布(Hz)50,180160,3
2、80400,1000共振峰频率分布偏低中偏高男声女声童声图 12 提取参数基于短时自相关法的基音周期估值进行自相关的计算,通过 MATLAB编程采用自相关算法可以实现基音周期的估值,即对语音信号进行低通滤波,然后进行自相关计算。在低通滤波时,采用巴特沃斯滤波器。2.1.1 构建巴特沃斯低通滤波器根据人的说话特征设定相应指标参数,对本段语音设计算出巴特沃斯模拟滤波器的阶数 N为 5,3dB 截止频率函数为其中,,算出0.175,归一化低通原型系统将将带人中,得到低通滤波器,根据设定的滤波器编写 MATLAB 程序,当信号经过低通滤波器后,对原始信号滤波产生结果如图 2 所示,低通滤波后,保留基音
3、频率,然后再用 2kHz 采样频率进行采样,采样序列为 x(n),后进行下一步的自相关计算。.精品文档图 22.1.2 语音信号的短时自相关函数定义语音信号的自相关函数如下:其中 k 为信号延迟点数;为语音信号;N 为语音帧长度。经过低通滤波之后,取 160 个样点数,帧长取 10ms,对每帧语音求短时自相关,取得自相关最大点数,自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,从而估计出基音周期,但是由于图中存在野点,编写 MATLAB 程序除去野点算出对应基音周期如图 3 所示,设基音周期值为 PT,调动 PT,接近女声,设新的为 PT1;图 32.2 LPC 倒
4、谱法提取共振峰通过线性预测分析得到合成滤波器的系统函数为:H(z)=其中 h(n)为冲击响应,为预测系数。下面求 h(n)的倒谱(n),首先根据同态分析方法有小相位的,即在单位圆内是解析的,所以说,就是说,因为H(z)是最可以展开成级数形式,即的逆变换(n)是存在的,设(0)=0,将式两端同.精品文档时对求导,得到:有()()=,令式左右两边 Z 的各次幂前系数分别相等得到:在本实验中,取预测阶数为 10,语音的样点数为 160,按照上式可直接从预测系数求得倒谱,这个倒谱是根据线性预测模型得到,即称为 LPC 倒谱。编写 MATLAB 程序,实现如图 4 所示,谱的峰值基本上对应于共振峰频率,
5、用 GT表示共振峰;修改共振峰,使共振峰接近女声范围,新的为 GT1;图 43 线性预测语音信号的合成根据线性预测的基本思想,用过去 M 个样点值来预测现在或未来的样点值:为预测信号,为预测系数,y(n)为取样信号,预测误差:这样就可以通过在某个准则下使预测误差一组线性预测参数(i=1,2,,M)达到最小值的方法来决定唯一的.精品文档把语音信号的某一帧内的短时均方预测误差定义为:E为使 EE=E最小,对求偏导,并令其为零,有:)=0j=1,。,M与过去的样点值正交。由于语音信上式表明采用最佳预测系数时,预测误差号的短时平稳性,要分帧处理,对于每一个样点值记为 y(n),.,y(n+N-1),这段语音记为 Yn。对于语音段 Yn,并记关函数为:j=1,.,M根据 Yulewalker 方程,可以解出样值,用这种方法定期地改变激励参数 u(n)和预测系数,并使用修改过后的基因周期和共振峰参数,就能合成出语音,合成语音样本如下:S(n)=,对于语音段 Yn,它的自相为预测系数,G 为模型增益,u(n)为激励,合成样本s(n),p 为预测器阶数;编写 MATLAB 程序,如下图:4 GUI 界面设计在 MATLAB 新建 GUI,添加各部件。打开一段男生录制的声音,进行仿真实验,效果如下图所示。.精品文档.
限制150内