已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB变声器电子工程学院摘要语音信号处理中的变声处理已经有了比较成熟的算法,本文阐述了变声算法的基础原理,利用数字滤波器,自相关法,LPC,LPC系数求根法等方法在MATLAB上改变语音信号的基频和共振峰以实现变声,并总结了现有变声算法的缺陷,对用不同的变换域能否改进变声算法做了粗略分析。关键词:变声算法,LPC,变换域目录研究背景3变声原理3语音基本概念3变声原理4变声过程5分帧处理5计算LPC系数5计算原始激励6计算基音周期6计算激励能量7合成脉冲序列7更改声道参数7合成变声语音8程序设计8传统变声算法缺陷9合成激励与原始激励差别较大9不能实现定向变声10实现定向变声的猜想11小波域是否存在恒定音色参数粗略分析11统计上的变换是否利于寻找恒定音色参数猜想11下一步研究计划12研究背景语音信号是人们日常生活中十分常见的信号,语音也是人与人之间传递信息的一种十分重要的方式。随着智能终端以及互联网的普及,语音信号大量地以数字形式出现,语音信号处理变得越来越重要,变声处理是语音信号处理的基础之一,所以在这样的大背景下,研究变声算法并改进变声算法是很有意义而且有必要的。另一方面,传统的变声算法是对发声过程的简单模拟进行语音合成,在模拟过程中改变参数以实现变声,而传统的变声算法存在一些缺陷,若要改进变声算法使其更灵活有效,那么细致的研究传统的变声算法是很有必要的。变声原理l 语音基本概念1. 声道:声道是很多动物及人类都有的一个腔室,从声源产生的声音经由此处滤出。人的声道包括声道则包括喉腔、咽头、口腔和鼻腔。2. 基音:一般的声音都是由发音体发出的一系列频率、振幅各不相同的振动复合而成的。这些振动中有一个频率最低的振动,由它发出的音就是基音,其余为泛音。发音体整体振动产生的音,叫做基音,决定音高;发音体部分振动产生的音,叫做泛音,决定音色;基音和泛音结合一起而形成的音,叫做复合音,日常我们所听到的声音多为复合音。3.共振峰:共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰是语音音质的决定因素,反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减,得到强化的那些频率在时频分析的语图上表现为浓重的黑色条纹。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。在语音声学中,共振峰决定着元音的音质,在计算机音乐中,共振峰是决定音色和音质的重要参数。4,短时平稳特性:语音信号是一种随时间而变化的信号,主要分为浊音和清音两大类。浊音的基音周期、清浊音信号幅度和声道参数等都随时间而缓缓变化。由于发生器官的惯性运动,可以认为在一小段时间里(一般为1030ms)语音信号的频域特性近似不变,即语音信号具有短时平稳性。因而处理语音信号之前要把语音信号分为一些短段(称为分析帧),然后再来进行处理。人声和乐器声的产生需要两个阶段,一个是发声系统,如人的声带或乐器的振动簧片,另一个是共鸣系统。乐器不同的共鸣系统使其在一定频域中的语音信号的振幅得以突出,这样,这些区域就产生了这个乐器所特有的共振峰值,这些共振峰值同共鸣体的大小、形状的材料密切相关。由于乐器的结构是稳定的,因此在乐器发出的所有音调中,不论基频如何,都会表现出相同的共振峰值,只不过其显著性有强有弱罢了。这就可以解释为什么同一乐器所发出的不同音调具有相同的音质。 在语音声学中,人声也同样受自身生理如鼻孔、咽腔、口腔大小的影响有自身的共振峰区。人在说话的过程中,正是通过利用这些共鸣空间的形状和大小不同的变化(例如改变嘴形),以能改变声音的共振峰说出不同的元音。我们之所以能够区分不同的人声、元音,主要也是依靠它们的共振峰分布的位置。简单来讲不同的人说同一句话的共振峰不同,同一个人说不通的话共振峰也不同。l 变声原理 变声是通过改变人声的基音频率和共振分分布以达到变声的目的,其具体过程是是模拟人声的发声过程,以脉冲信号代替声带振动,以FIR滤波器代替声道,用脉冲信号通过FIR滤波器进行语音合成。首先对原始语音信号进行分解,然后得出原始激励参数(基音周期和激励能量)和声道参数(共振峰分布),用得出的参数构建激励和滤波器,再根据变声需要更改参数,就可以达到变声的目的。过程如下脉冲序列FIR滤波器原始激励参数声道参数原始语音合成变声语音变声过程l 分帧处理 语音信号具有短时平稳特性,所以在处理之前要进行分帧处理,将一段长的语音信号分解为1030ms的语音信号逐段进行处理。语音信号的分帧是采用可移动的有限长度窗口进行加权的方法来实现的。一般每秒帧数约为33100帧,视实际情况而定。分帧一般要采用交叠分段的方法。如图所示,这是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为00.5。帧长帧长帧移第k帧第k+1帧在程序中对语音信号加Hamming窗处理,方法是用窗序列沿着语音样点值序列逐帧从左向右移动。l 计算LPC系数线性预测编码(LPC)是主要用于音频信号处理与语音处理中根据线性预测模型的信息用压缩形式表示数字语音信号谱包络(en:spectral envelope)的工具。它是最有效的语音分析技术之一,也是低位速下编码方法高质量语音最有用的方法之一,它能够提供非常精确的语音参数预测。LPC就是根据之前的P个信号构建滤波器,对之后的信号进行预测。MATLAB中就有LPC函数,其形式为: A,E=lpc(s_w,P);其中A是LPC预测系数,用来构建滤波器,E是预测误差,在后面会用来计算激励能量,s_w是语音信号,P是预测阶数。l 计算原始激励用得到的LPC系数构建滤波器,对语音信号进行逆滤波就可以得到语音信号的激励,另外应该注意在系数变化的情况下连续滤波,需要维持滤波器的状态不变,要利用filter函数的和参数。程序如下 exc1,zi_pre = filter(A,1,s_f,zi_pre);exc1就是原始激励,用于计算基音周期。l 计算基音周期程序中用自相关法计算基音周期。如果s(n)是一个周期为P的信号,则其自相关函数也是周期为P的信号,且在信号周期的整数倍处,自相关函数取最大值。语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。计算两相邻最大峰值间的距离,就可以估计出基因周期。其实现代码如下function PT=findpitch(s)B,A=butter(5,700/4000);s=filter(B,A,s);R=zeros(143,1);for k=1:143 R(k)=s(144:223)*s(144-k:223-k);endR1,T1=max(R(80:143);T1=T1+79;R1=R1/(norm(s(144-T1:223-T1)+1);R2,T2=max(R(40:79);T2=T2+39;R2=R2/(norm(s(144-T2:223-T2)+1);R3,T3=max(R(20:39);T3=T3+19;R3=R3/(norm(s(144-T3:223-T3)+1);Top=T1;Rop=R1;if R2=0.85*Rop Rop=R2; Top=T2;endif R30.85*Rop Rop=R3; Top=T3;endPT=Top;returnl 计算激励能量激励能量G用于构建脉冲序列时当作脉冲序列的振幅,激励能量和线性预测误差E和基音周期PT有关,其公式为 G = sqrt(E*PT);l 合成脉冲序列合成的脉冲序列可根据变声的需要更改原始的基音周期PT,如 PT1 =floor(PT/2);而后以PT1为周期,G为振幅构建脉冲序列,作为合成语音的激励l 更改声道参数 利用LPC求根法以更改共振峰分布。具体过程为,对由线性预测系数A构成的多项式求根,而共振峰频率F和频谱宽带B和这些根有对应关系。设为一个根,则其共轭值也是一个根,i对应的共振峰频率F和3dB带宽B存在以下关系: 所以 其中T是采样周期。在程序中,我们只更改共振峰频率,程序如下poles = roots(A);deltaOMG =100*2*pi/fs;for p=1:10 if imag(poles(p)0 poles(p) = poles(p)*exp(peak*1j*deltaOMG); %peak是变声系数 elseif imag(poles(p)0 poles(p) = poles(p)*exp(-peak*1j*deltaOMG); endendA1=poly(poles);A1是更改过声道参数的线性预测系数,用以构建滤波器合成变声语音。l 合成变声语音 用脉冲序列作为激励,A1作为滤波器参数,合成变声语音,s_syn1_t,zi_syn_t = filter(1,A1,exc_syn1_t,zi_syn_t);程序设计 利用MATLAB的GUI进行程序设计,结果如下: 从图中可看出,经过变声器处理以后,语音信号的频域发生了很明显的变化,共振峰发生明显的移动。从听觉角度来说,变声效果也比较明显。传统变声算法缺陷传统的变声算法形成时间较早,是对发声系统粗略的模仿实现语音合成,虽然能实现明显的变声效果,但还存在一些缺陷,这里只针对研究开发过程中发现的不足来说。l 合成激励与原始激励差别较大合成激励是以原始激励的基音周期为周期的脉冲序列,忽视了原始激励中的泛音频率,而语音信号中泛音频率也是决定声音音色的重要因素,所以对泛音的忽视直接影响了变声效果。完成变声器的编程之后,我尝试用基音周期不变的合成激励与原始的声道参数进行语音合成,对比合成语音和原始语音,结果如下可以很明显地看出合成激励和原始激励在频谱上有较大区别,而从听觉上而言,虽然能听出二者音色相似,但用合成激励合成的语音中有较多杂音。从这个简单的实验可以看出,激励中的泛音对语音信号也有着相当重要的作用,当激励中去除泛音时,对语音信号的频谱分布和听觉上有着较大影响。所以变声算法中,只考虑基音来构建合成激励是有很大缺陷的。l 不能实现定向变声所谓定向变声,是指把一个人的声音定向地变成另一个人的声音。每个人都有自己独特的音色,也就意味着每个人的声音信号有独特且恒定的参数存在,一开始我猜想是这个参数便是共振峰分布,后来发现,虽然不同的人说相同的话的语音共振峰确实有明显的区别,但是同一个人说不同的话共振峰的区别也非常大,下图分别是同一个人读“为中华崛起而读书”和“现在开始录音”的时域和频域图:可见共振峰分布并不相同,其实每个元音的共振峰分布本来就不一样,这就意味着,共振峰分布不仅决定了音色,也决定了语音内容。而实际上,仅仅在很短的时间内(1030ms),共振峰的分布才是不变的,这也是语音信号的出来都要在短时内进行的原因。综上可见,传统变声算法单纯从频域上对语音进行分析处理,是不能够提取出具有个人特征的声色参数的,所以不能进行定向变声。实现定向变声的猜想我们能从语音中分辨出发声者,又有古语“未见其人先闻其声”也证明每个人确确实实有自己独特的易于辨识的恒定的音色参数,如果不能从频域上找到该参数,或许可以从其他的变换域中找到。l 小波域是否存在恒定音色参数粗略分析小波变换是一种新型的变换分析方法,它可以通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了傅立叶变换的困难问题,成为继傅立叶变换以来在科学方法上的重大突破。我认为小波变换寻找恒定音色参数的优势有:1,小波变换可以对非平稳信号进行分析语音信号是非平稳信号,只有在短时间内(1030ms)才具有平稳特性,意味着只有在短时间内语音信号在频域上才具有恒定的参数,又由观察可知音色只有在较长的一段时间的语音信号中才能显现出来的,而小波变化可以对非平稳信号进行分析,那么语音信号在小波域上具有恒定参数的可能性就非常大。2,小波变换中考虑了时域特性我们可以观察发现,音色是需要较长的语音信号才能显现出来的,如果让两个人只发10ms的声音(可能的话),那么辨认两者的音色应该是不太可能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政广场绿化设计与施工合同
- 洗浴中心招投标授权委托书模板
- 网约车驾驶员服务协议
- 南京市摄影基地租赁合同
- 环保旅游业PTR管理办法
- 城市绿化带扩建合同
- 文化艺术兼职演员合同
- 建筑材料市场租赁合同终止
- 图书馆围墙建设合同
- 人力资源成品油市场管理办法
- 农村留守儿童心理健康状况调查研究
- 手术室锐器刺伤
- 中国食物成分表2018年(标准版)第6版
- 消防安全教育主题班会:森林防火与消防安全 课件
- 【00后大学生理财意识与规划探究(定量论文)11000字】
- 公路消防知识培训内容
- 吊车吊装方案计算书
- 2024年云南省数字经济产业投资集团有限公司招聘笔试参考题库含答案解析
- 警方开展心理辅导活动方案
- 餐厅股份合作协议书
- 成人重症患者人工气道湿化护理专家共识
评论
0/150
提交评论