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
研究背景
语音信号是人们日常生活中十分常见的信号,语音也是人与人之间传递信息的一种十分重要的方式。随着智能终端以及互联网的普及,语音信号大量地以数字形式出现,语音信号处理变得越来越重要,变声处理是语音信号处理的基础之一,所以在这样的大背景下,研究变声算法并改进变声算法是很有意义而且有必要的。
另一方面,传统的变声算法是对发声过程的简单模拟进行语音合成,在模拟过程中改变参数以实现变声,而传统的变声算法存在一些缺陷,若要改进变声算法使其更灵活有效,那么细致的研究传统的变声算法是很有必要的。
变声原理
语音基本概念
1. 声道:声道是很多动物及人类都有的一个腔室,从声源产生的声音经由此处滤出。人的声道包括声道则包括喉腔、咽头、口腔和鼻腔。
2. 基音:一般的声音都是由发音体发出的一系列频率、振幅各不相同的振动复合而成的。这些振动中有一个频率最低的振动,由它发出的音就是基音,其余为泛音。发音体整体振动产生的音,叫做基音,决定音高;发音体部分振动产生的音,叫做泛音,决定音色;基音和泛音结合一起而形成的音,叫做复合音,日常我们所听到的声音多为复合音。
:共振峰是指在声音的频谱中能量相对集中的一些区域,共振峰是语音音质的决定因素,反映了声道(共振腔)的物理特征。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减,得到强化的那些频率在时频分析的语图上表现为浓重的黑色条纹。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。在语音声学中,共振峰决定着元音的音质,在计算机音乐中,共振峰是决定音色和音质的重要参数。
4,短时平稳特性:语音信号是一种随时间而变化的信号,主要分为浊音和清音两大类。浊音的基音周期、清浊音信号幅度和声道参数等都随时间而缓缓变化。由于发生器官的惯性运动,可以认为在一小段时间里(一般为10~30ms)语音信号的频域特性近似不变,即语音信号具有短时平稳性。因而处理语音信号之前要把语音信号分为一些短段(称为分析帧),然后再来进行处理。
人声和乐器声的产生需要两个阶段,一个是发声系统,如人的声带或乐器的振动簧片,另一个是共鸣系统。乐器不同的共鸣系统使其在一定频域中的语音信号的振幅得以突出,这样,这些区域就产生了这个乐器所特有的共振峰值,这些共振峰值同共鸣体的大小、形状的材料密切相关。由于乐器的结构是稳定的,因此在乐器发出的所有音调中,不论基频如何,都会表现出相同的共振峰值,只不过其显著性有强有弱罢了。这就可以解释为什么同一乐器所发出的不同音调具有相同的音质。
在语音声学中,人声也同样受自身生理如鼻孔、咽腔、口腔大小的影响有自身的共振峰区。人在说话的过程中,正是通过利用这些共鸣空间的形状和大小不同的变化(例如改变嘴形),以能改变声音的共振峰说出不同的元音。我们之所以能够区分不同的人声、元音,主要也是依靠它们的共振峰分布的位置。简单来讲不同的人说同一句话的共振峰不同,同一个人说不通的话共振峰也不同。
变声原理
变声是通过改变人声的基音频率和共振分分布以达到变声的目的,其具体过程是是模拟人声的发声过程,以脉冲信号代替声带振动,以FIR滤波器代替声道,用脉冲信号通过FIR滤波器进行语音合成。首先对原始语音信号进行分解,然后得出原始激励参数(基音周期和激励能量)和声道参数(共振峰分布),用得出的参数构建激励和滤波器,再根据变声需要更改参数,就可以达到变声的目的。过程如下
脉冲序列
FIR滤波器
原始激励参数
声道参数
原始语音
合成变声语音
变声过程
分帧处理
语音信号具有短时平稳特性,所以在处理之前要进行分帧处理,将一段长的语音信号分解为10~30ms的语音信号逐段进行
MATLAB变声器 来自淘豆网m.daumloan.com转载请标明出处.