变声器设计方案(共5页)_第1页
变声器设计方案(共5页)_第2页
变声器设计方案(共5页)_第3页
变声器设计方案(共5页)_第4页
变声器设计方案(共5页)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB变声(bin shn)器的设计前言(qin yn)随着生活水平的提高,科技(kj)的不断进步,很多人为了娱乐,从而希望改变自己的声音;还有如今的许多的访问节目为了保护被访问者,都对声音进行了相应的处理。本设计通过编写MATLAB程序,修改相关声音参数,使其频率发生相应的变化,在输出时达到变声。1 变声原理在进行性别变声时,主要考虑基音周期、基频和共振峰频率的变化。其中男生、女生和和童声的基频、共振峰的关系如图1所示;基音周期改变时,基频、共振峰同时变化,若伸展既有男变女、女变童,反之亦可。本实验是基于男生录制的声音进行相关参数提取,修改接近于女声,实现男声到女声的变换。人群基频分布

2、(Hz)共振峰频率分布男声50 , 180偏低女声160 , 380中童声400 , 1000偏高 图12 提取参数基于短时自相关法的基音周期估值进行自相关的计算,通过MATLAB编程采用自相关算法可以实现基音周期的估值,即对语音信号进行低通滤波,然后进行自相关计算。在低通滤波时,采用巴特沃斯滤波器。2.1.1 构建巴特沃斯低通滤波器根据人的说话特征设定相应指标参数,对本段语音设计算出巴特沃斯模拟滤波器的阶数N为5,3dB截止频率c,c=p(100.1p-1)-1/2N。算出c为0.175,归一化低通原型系统函数为 Ga(p)=1p5+b4p4+b3p3+b2p2+b1p+b0其中b0=1.0

3、000,b1=3.2361,5.2361,b3=5.2361,b4=3.2361将将p=s/c带人Ga(p)中,得到低通滤波器,Ha(s)=c5s5+b4cs4+b3c2s3+b2c3s2+b1c4s+b0c5根据设定的滤波器编写MATLAB程序,当信号经过低通滤波器后,对原始信号滤波产生结果如图2所示,低通滤波后,保留基音频率,然后再用2kHz采样频率进行采样,采样序列为x(n),后进行下一步的自相关计算。 图22.1.2语音(yyn)信号的短时自相关函数 定义语音信号的自相关函数(hnsh)如下:Rnk=n=0N-k-1xn(n)xn(n+k)其中(qzhng)k为信号延迟点数;xn(n)

4、为语音信号;N为语音帧长度。经过低通滤波之后,取160个样点数,帧长取10ms,对每帧语音求短时自相关,取得自相关最大点数,自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,从而估计出基音周期,但是由于图中存在野点,编写MATLAB程序除去野点算出对应基音周期如图3所示,设基音周期值为PT,调动PT,接近女声,设新的为PT1; 图32.2 LPC倒谱法提取共振峰通过线性预测分析得到合成滤波器的系统函数为:H(z)=11-i=1paiz-i其中h(n)为冲击响应,ai为预测系数。下面求h(n)的倒谱h(n),首先根据同态分析方法有Hn=logH(z),因为H(z)是最小

5、相位的,即在单位圆内是解析的,所以说H(z)可以展开成级数形式,即Hz=1h(n)z-n,就是说H(z)的逆变换h(n)是存在的,设h(0)=0,将式两端同时对z-1求导,得到:n=1nhnz-n+1=i=1paiz-i+11-i=1paiz-i有(1-i=1paiz-i)(n=1nhnz-n+1)= i=1paiz-i+1,令式左右(zuyu)两边Z的各次幂前系数分别(fnbi)相等得到:h1=a1hn=an+i=1n-11-inaihn-i 1nphn=i=1n-11-inaihn-i np 在本实验中,取预测阶数为10,语音的样点数为160,按照(nzho)上式可直接从预测系数ai求得倒

6、谱hn,这个倒谱是根据线性预测模型得到,即称为LPC倒谱。编写MATLAB程序,实现如图4所示,谱的峰值基本上对应于共振峰频率,用GT表示共振峰;修改共振峰,使共振峰接近女声范围,新的为GT1; 图43 线性预测语音信号的合成根据线性预测的基本思想,用过去M个样点值来预测现在或未来的样点值:yn=i=1Maiy(n-i)yn为预测信号,ai为预测系数,y(n)为取样信号,预测误差(n):n=yn-yn=yn-i=1Maiy(n-i)这样就可以(ky)通过在某个准则下使预测误差n达到最小值的方法来决定唯一(wi y)的一组线性预测参数 ai(i=1,2,,M)把语音信号的某一帧内的短时均方预测(

7、yc)误差定义为:E2(n)=Eyn-i=1Maiy(n-i)2为使E2(n)最小,对ai求偏导,并令其为零,有:E yn-i=1Maiy(n-i) y(n-i)=0 j=1,。,M上式表明采用最佳预测系数时,预测误差(n)与过去的样点值正交。由于语音信号的短时平稳性,要分帧处理,对于每一个样点值记为y(n),. . .,y(n+N-1),这段语音记为Yn。对于语音段Yn,并记nj,i=Eyn(m-j)ym(m-j), 对于语音段Yn,它的自相关函数为:Rnj=m=jN-1yn(m)yn(m-j) j=1, . . .,M根据Yulewalker方程,可以解出样值,用这种方法定期地改变激励参数u(n)和预测系数ai,并使用修改过后的基因周期和共振峰参数,就能合成出语音,合成语音样本如下:S(n)=i=1paisn-i+Gu(n)ai为预测系数,G为模型增益,u(n)为激励,合成样本s(n),p为预测器阶数;编写MATLAB程序,如下图:4 GUI界面设计在MATLAB新建GUI ,添加各部件。 打开一段男生录制的声音,进行仿真实验,效果如下图所示。内容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论