基于MATLAB算法的数字变声器说明书_第1页
基于MATLAB算法的数字变声器说明书_第2页
基于MATLAB算法的数字变声器说明书_第3页
基于MATLAB算法的数字变声器说明书_第4页
基于MATLAB算法的数字变声器说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于MATLAB算法的数字变声器洗手【摘要】变声器的原理是通过改变输入声音频率,吃饭进行改变声音的音色、BEEF音调,吃饭使输出声音在感官上与原声音不同。洗手变声器是借助对声音音色和音调的双重复合改变,吃饭实现输出声音的改变。洗手通过自己发声,吃饭共振峰频率的改变是基于重采样实现的。洗手同时用LPC倒谱分析法分析共振峰的范围,吃饭通过MATLAB编写程序并构置GUI界面。洗手实验中通过MATLAB软件对采集来的语言信号进行频谱分析,吃饭讨论不同人之间的噪音源参数和共振峰参数,吃饭通过对不同人语言信号频率和幅度的改变来实现不同人之间的语音转换。洗手洗手【关键词】短时自相关法;BEEFLPC倒谱;BEEF语音信号;BEEFMATLABGUI;BEEF洗手1引言洗手随着生活水平的提高,吃饭科技的不断进步,吃饭很多人为了娱乐,吃饭从而希望改变自己的声音;BEEF还有如今的许多的访问节目为了保护被访问者,吃饭都对声音进行了相应的处理。洗手本设计通过编写MATLAB程序,吃饭借助对声音音色和音调的双重复合改变,吃饭实现输出声音的改变。洗手共振峰频率的改变是基于重采样实现的,吃饭从重采样原理知道,吃饭这也同时印发了基频的变化,吃饭为保证基频变化和共振峰频率变化的独立、BEEF互不相关,吃饭在基频移动时必须考虑抵消重采样带来的偏移,吃饭理论上只要基频检测足够精确,吃饭确实可以保证基频改变和共振峰频率改变间的互不相关。洗手保证变声效果的自然度主要是没有采用基因检测将基因移动和共振峰变化彻底隔离的缘故。洗手洗手本次课程设计就是运用我们所学到的理论知识,吃饭用MATLAB软件来实现对语音信号的变声处理,吃饭理论联系实际,吃饭从而更好地掌握以及运用所学习的知识。洗手洗手2数字变声器的原理与算法洗手21基本原理洗手语音科学家将人类发声过程视作一个由声门源输送的气流经以声道、BEEF口、BEEF鼻腔组成的滤波器调制而成的。洗手人类语音可分为有声语音和无声语音,吃饭前者是由声带振动激励的脉冲信号经声腔调制变成不同的音,吃饭它是人类语言中元音的基础,吃饭声带振动的频率称为基频。洗手无声语音则是声带保持开启状态,吃饭禁止振动引发的。洗手一般来说,吃饭由声门振动决定的基频跟说话人的性别特征有关,吃饭如下表,吃饭而无声语音则没有体现这个特征。洗手说话人的个性化音色和语音的另外一个声学参数共振峰频率的分布有关。洗手儿童由于声道短,吃饭其共振峰频率高于成年人,吃饭成年女性的声道一般短于成年男性,吃饭所以女性的共振峰频率一般高于男性。洗手洗手在进行性别变声时,吃饭主要考虑基音周期、BEEF基频和共振峰频率的变化。洗手其中男生、BEEF女生和童声的基频、BEEF共振峰的关系如图1所示;BEEF基音周期改变时,吃饭基频、BEEF共振峰同时变化,吃饭若伸展既有男变女、BEEF女变童,吃饭反之亦可。洗手本实验是基于打开一种声音进行相关参数提取,吃饭修改洗手接近于女声、BEEF男声或童声,吃饭实现声音的变换。洗手洗手洗手洗手洗手图1人群基频与共振峰的关系22实现过程及算法洗手采用线性预测参数合成法。洗手线性预测参数合成法利用LPC语音分析方法,吃饭通过分析自然语音样本,吃饭计算出LPC系数,吃饭就可以建立信号产生模型,吃饭从而合成出语音。洗手大致流程如图2所示。洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手221基于短时自相关法的基音周期估值洗手对语言信号进行低通滤波,吃饭然后进行自相关计算。洗手在低通滤波时,吃饭采用巴特沃斯滤波器。洗手洗手根据人的说话特征设定相应指标参数,吃饭对本段语音设计算出巴特沃斯模拟滤波器的阶数N为5,吃饭3DB截止频率,算出为0175,吃饭归一化低通原型系统函数为1001112BEEF洗手洗手G()1544332210其中洗手010000,132361,252361,352361,432361将带人中,吃饭得到低通滤波器,吃饭洗手/G()洗手554242321405根据设定的滤波器编写MATLAB程序,吃饭当信号经过低通滤波器后,吃饭对原始信号滤波产生结果如下图2所示,吃饭低通滤波后,吃饭保留基音频率,吃饭然后再用8KHZ采样频率进行采样,吃饭采样序列为XN,吃饭然后进行下一步的自相关计算。洗手洗手洗手洗手洗手洗手洗手洗手222语音信号的短时自相关函数洗手定义语音信号自相关函数如下BEEF洗手洗手10图3原始信号低通滤波图2制作流程其中K为信号延迟点数为语音信号;BEEFN为语音帧长度。洗手经过低通滤波之后,吃饭取160个样点数,吃饭帧长取10MS,吃饭对每帧语音求短时自相关,吃饭取得自相关最大点数,吃饭自相关函数在基音周期处表现为峰值,吃饭这些峰值点之间的间隔的平均值就是基音周期。洗手洗手洗手223LPC倒谱法提取共振峰洗手通过线性预测分析得到合成滤波器的系统函数为洗手洗手()111其冲击响应为HN,为预测系数。洗手然后求HN的倒谱N,首先根据同态分析方法,吃饭H有ZLOGHZ,因为H(Z)是最小相位的,吃饭即在单位圆内是解析的,吃饭所以Z可以展H开成级数形式,吃饭即Z,也就是说HZ的逆变换N是存在的,吃饭设1NHHN0,吃饭将等式两端分别对求导,吃饭得到BEEF洗手1洗手1N1H1111U有(1),令式左右两边Z的各次幂前系数11N111分别相等得到BEEF洗手H11洗手NH1洗手111NHNNP洗手111N在本实验中,吃饭取预测阶数为10,吃饭语音的样点数为160,吃饭按照上式可直接从预测系数求得倒谱N,吃饭这个倒谱是根据线性预测模型得到,吃饭即称为LPC倒谱。洗手洗手224线性预测语音信号合成洗手根据线性预测的基本思想,吃饭用过去M个样点值来预测现在或未来的样点值BEEF洗手(N)洗手Y1(N)是预测信号,吃饭为预测系数,吃饭YN为取样信号,吃饭预测误差(N)洗手ENE洗手212为使EN最小,吃饭对求偏导,吃饭并令其为零,吃饭有BEEF洗手2EYN01,M洗手1上式表明采用最佳预测系数时,吃饭预测误差与过去的样点值正交。洗手由于语音信号的短时平稳性,吃饭要分帧处理,吃饭对于每一个样点值记为N,NN1,吃饭这段语音记为YN。洗手洗手对于语音段YN,吃饭并记J,IE,对于语音段YN,吃饭它的自相关函数为BEEF洗手N1,M洗手1根据YULEWALKER方程,吃饭可以解出样值,吃饭用这种方法定期地改变激励参数UN和预测系数,吃饭并使用修改过后的基因周期和共振峰参数,吃饭就能合成出语音,吃饭合成语音样本如下BEEF洗手S(N)GUN洗手1为预测系数;BEEFG为模型增益;BEEFUN为激励;BEEF合成样本SN;BEEFP为预测器阶数;BEEF洗手洗手225流程图洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手3数字变声器的软件实现及仿真结果洗手31界面设计洗手开始导入语音数据S算法数据归一化建立滤波器重建语言合成并加窗确定帧数线性预测法预测P个系数计算减小基音周期提取共振峰合成激励合成语音打开音频男变女开始运行女变男变童声在设计数字变声器的界面时,吃饭使用了MATLAB提供的可视化的界面环境GUIDE。洗手相比通洗手过编写程序进行GUI的设计,吃饭可视化的界面环境更加方便快捷。洗手见图4洗手洗手洗手洗手1按钮组BEEF设计中使用了两个按钮组,吃饭把打开、BEEF原声、BEEF男变女、BEEF女变男、BEEF童声三项功能放在一组;BEEF另一个把语音的图像即4个AXES放在了一组。洗手洗手2按钮BEEF最常用的控件,吃饭用于相应用户的鼠标单击,吃饭按钮上有说明文字说明其作用。洗手设计中使用了五个按钮,吃饭分别用于打开、BEEF原声、BEEF男变女、BEEF女变男、BEEF童声。洗手洗手3轴BEEF用于显示图像。洗手洗手32回调函数洗手对控件的CALLBACK属性编程是实现GUI的基本机制,吃饭我们下来就要在各函数中编写程序代码,吃饭完成各回调函数的功能。洗手洗手(1)打开洗手FUNCTIONDAKAI_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手FILENAME,PATHNAMEUIGETFILEWAV,ALLFILES,选择声音BEEF洗手IFISEQUALFILENAMEPATHNAME,0,0洗手RETURNBEEF洗手END洗手STRPATHNAMEFILENAMEBEEF洗手TEMP,FSAUDIOREADSTRBEEF洗手TEMP1RESAMPLETEMP,80,441BEEF洗手HANDLESYTEMP1BEEF洗手HANDLESY1TEMPBEEF洗手HANDLESFSFSBEEF洗手GUIDATAHOBJECT,HANDLESBEEF洗手(2)原声洗手FUNCTIONYUANSHENG_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手CHANDLESFSBEEF洗手SOUNDHANDLESY1,CBEEF洗手图4界面设计PLOTHANDLESAXES1,HANDLESY1洗手TITLEHANDLESAXES1,时域图BEEF洗手YSIZESIZEHANDLESY1BEEF洗手Y1FFTHANDLESY,LENGTHHANDLESY1BEEF洗手YSIZESIZEY1BEEF洗手PLOTHANDLESAXES2,ABSY1BEEF洗手XLABELHANDLESAXES2,频率BEEF洗手YLABELHANDLESAXES2,幅度BEEF洗手TITLEHANDLESAXES2,频率特性BEEF洗手(3)男变女洗手FUNCTIONNANBIANNV_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手FL80BEEF帧移洗手WL240BEEF窗长洗手P10BEEF预测系数个数洗手SHANDLESYBEEF洗手FSHANDLESFSBEEF洗手洗手定义常数洗手SS/MAXSBEEF归一化洗手LLENGTHSBEEF读入语音长度洗手FNFLOORL/FL2BEEF计算帧长,吃饭FLOOR;BEEF向负无穷方向洗手预测和重建滤波器洗手EXCZEROSL,1BEEF激励信号,吃饭DOUBLE类零矩阵L行1列洗手ZI_PREZEROSP,1BEEF预测滤波器状态洗手S_RECZEROSL,1BEEF重建语音洗手ZI_RECZEROSP,1BEEF洗手变调滤波器洗手EXC_SYN_TZEROSL,1BEEF合成的激励信号,吃饭创建一个L行1列的0脉冲洗手S_SYN_TZEROSL,1BEEF合成语音洗手LAST_SYN_T0BEEF存储上一个段的最后一个脉冲的下标洗手ZI_SYN_TZEROSP,1BEEF合成滤波器洗手HWHAMMINGWLBEEF汉明窗洗手滤波器洗手洗手依次处理每帧语音洗手FORN3FN从第三个子数组开始洗手计算预测系数洗手S_WSNFLWL1NFLHWBEEF汉明窗加权洗手A,ELPCS_W,PBEEF线性预测计算预测系数洗手A是预测系数,吃饭E会被用来计算合成激励的能量洗手S_FSN1FL1NFLBEEF本帧语音洗手利用FILTER函数重建语音洗手洗手EXC1,ZI_PREFILTERA,1,S_F,ZI_PREBEEF洗手EXCN1FL1NFLEXC1BEEF计算激励洗手利用FILTER函数重建语音洗手S_REC1,ZI_RECFILTER1,A,EXC1,ZI_RECBEEF洗手S_RECN1FL1NFLS_REC1BEEF重建语音洗手下面只有得到EXC后才可以洗手S_PITCHEXCNFL222NFLBEEF洗手PTNFINDPITCHS_PITCHBEEF计算基音周期PT洗手GSQRTEPTNBEEF计算合成激励的能量G洗手TEMPN_SYN1NFLLAST_SYNBEEF洗手EXC_SYN1ZEROSLENGTHTEMPN_SYN,1BEEF洗手EXC_SYN1MODTEMPN_SYN,PT0GBEEF某一段算出的脉冲洗手EXC_SYN1EXC_SYN1N1FLLAST_SYN1NFLLAST_SYNBEEF洗手S_SYN1,ZI_SYNFILTER1,A,EXC_SYN1,ZI_SYNBEEF洗手EXC_SYNN1FL1NFLEXC_SYN1BEEF计算得到合成激励洗手S_SYNN1FL1NFLS_SYN1BEEF计算得到合成语音洗手LAST_SYNLAST_SYNPTFLOORNFLLAST_SYN/PTBEEF洗手PT1FLOORPTN/2BEEF减小基音周期洗手POLESROOTSABEEF洗手DELTAOMG1002PI/FSBEEF洗手洗手FORP110增加共振峰洗手IFIMAGPOLESP0洗手POLESPPOLESPEXP1JDELTAOMGBEEF洗手ELSEIFIMAGPOLESP085ROP洗手ROPR2BEEF洗手TOPT2BEEF洗手END洗手IFR3085ROP洗手ROPR3BEEF洗手TOPT3BEEF洗手END洗手PTTOPBEEF洗手RETURN洗手(3)女变男洗手FUNCTIONNVBIANNAN_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手FL80BEEF帧移洗手WL240BEEF窗长洗手P10BEEF预测系数个数洗手SHANDLESYBEEF洗手FSHANDLESFSBEEF洗手洗手定义常数洗手SS/MAXSBEEF归一化洗手LLENGTHSBEEF读入语音长度洗手FNFLOORL/FL2BEEF计算帧长,吃饭FLOOR;BEEF向负无穷方向洗手预测和重建滤波器洗手EXCZEROSL,1BEEF激励信号,吃饭DOUBLE类零矩阵L行1列洗手ZI_PREZEROSP,1BEEF预测滤波器状态洗手S_RECZEROSL,1BEEF重建语音洗手ZI_RECZEROSP,1BEEF洗手变调滤波器洗手EXC_SYN_TZEROSL,1BEEF合成的激励信号,吃饭创建一个L行1列的0脉冲洗手S_SYN_TZEROSL,1BEEF合成语音洗手LAST_SYN_T0BEEF存储上一个段的最后一个脉冲的下标洗手ZI_SYN_TZEROSP,1BEEF合成滤波器洗手HWHAMMINGWLBEEF汉明窗洗手滤波器洗手洗手依次处理每帧语音洗手FORN3FN从第三个子数组开始洗手计算预测系数洗手S_WSNFLWL1NFLHWBEEF汉明窗加权洗手A,ELPCS_W,PBEEF线性预测计算预测系数洗手A是预测系数,吃饭E会被用来计算合成激励的能量洗手S_FSN1FL1NFLBEEF本帧语音洗手利用FILTER函数重建语音洗手洗手EXC1,ZI_PREFILTERA,1,S_F,ZI_PREBEEF洗手EXCN1FL1NFLEXC1BEEF计算激励洗手利用FILTER函数重建语音洗手S_REC1,ZI_RECFILTER1,A,EXC1,ZI_RECBEEF洗手S_RECN1FL1NFLS_REC1BEEF重建语音洗手下面只有得到EXC后才可以洗手S_PITCHEXCNFL222NFLBEEF洗手PTNFINDPITCHS_PITCHBEEF计算基音周期PT洗手GSQRTEPTNBEEF计算合成激励的能量G洗手TEMPN_SYN1NFLLAST_SYNBEEF洗手EXC_SYN1ZEROSLENGTHTEMPN_SYN,1BEEF洗手EXC_SYN1MODTEMPN_SYN,PT0GBEEF某一段算出的脉冲洗手EXC_SYN1EXC_SYN1N1FLLAST_SYN1NFLLAST_SYNBEEF洗手S_SYN1,ZI_SYNFILTER1,A,EXC_SYN1,ZI_SYNBEEF洗手EXC_SYNN1FL1NFLEXC_SYN1BEEF计算得到合成激励洗手S_SYNN1FL1NFLS_SYN1BEEF计算得到合成语音洗手LAST_SYNLAST_SYNPTFLOORNFLLAST_SYN/PTBEEF洗手PT1FLOORPTN/2BEEF减小基音周期洗手POLESROOTSABEEF洗手DELTAOMG1002PI/FSBEEF洗手洗手FORP110增加共振峰洗手IFIMAGPOLESP0洗手POLESPPOLESPEXP1JDELTAOMGBEEF洗手ELSEIFIMAGPOLESP0BEEF洗手POLESPPOLESPEXP1IDELTAOMGBEEF洗手ELSE洗手IFIMAGPOLESP0BEEF洗手POLESPPOLESPEXP1IDELTAOMGBEEF洗手END洗手END洗手END洗手A1POLYPOLESBEEF洗手TEMPN_SYN_T1NFLLAST_SYN_TBEEF洗手EXC_SYN1_TZEROSLENGTHTEMPN_SYN_T,1BEEF洗手EXC_SYN1_TMODTEMPN_SYN_T,PT10GBEEF洗手EXC_SYN1_TEXC_SYN1_TN1FLLAST_SYN_T1NFLLAST_SYN_TBEEF洗手S_SYN1_T,ZI_SYN_TFILTER1,A1,EXC_SYN1_T,ZI_SYN_TBEEF洗手EXC_SYN_TN1FL1NFLEXC_SYN1_TBEEF洗手S_SYN_TN1FL1NFLS_SYN1_TBEEF洗手LAST_SYN_TLAST_SYN_TPT1FLOORNFLLAST_SYN_T/PT1BEEF洗手END洗手PLOTHANDLESAXES4,EXC_SYN_T洗手XLABELHANDLESAXES4,时域图BEEF洗手YLABELHANDLESAXES4,频率BEEF洗手TITLEHANDLESAXES4,幅度BEEF洗手HANDLESYS_SYN_TBEEF洗手GUIDATAHOBJECT,HANDLESBEEF洗手洗手PLOTHANDLESAXES3,S_SYN_TBEEF洗手Y1SIZESIZES_SYN_TBEEF洗手P

温馨提示

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

评论

0/150

提交评论