《语言信号处理报告》由会员分享,可在线阅读,更多相关《语言信号处理报告(11页珍藏版)》请在金锄头文库上搜索。
1、 语音信号处理课程报告语音信号处理的研究方向及相应描述: 语音信号处理的研究方向有语音识别、语音合成、语音编码、说话人识别。语音识别:语音识别就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。其目标是将人类的语音中的词汇内容转换为计算机可读的输入,也就是让计算机听懂人说话。语音合成: 语音合成是通过机械的、电子的方法产生人造语音的技术。语音合成是利用电子计算机和一些专门装置模拟人,制造语音的技术。它其实是将文字信息等转换成等价的语音,也就是让计算机开口说话。 语音编码: 语音编码就是对模拟的语音信号进行编码,将模拟信号转化成数字信号,从而降低传输码率并进行数字传输。语音编码
2、的目的是在保持一定的法复杂程度和通信时延的前提下,占用尽可能少的通信容量,传送尽可能高质量的语音。其就是用尽可能低的比特率来存储和传输语音数据。语音编码技术又可分为波形编码、参量编码和混合编码三大类。说话人识别: 说话人识别是通过对说话人语音信号的分析处理,自动确认是别人是否在所记录的话者集合中,以及进一步确认说话人是谁。说话人识别是根据语音波形中反映说话人生理和行为的特征的语音参数,自动识别说话人身份的技术。语音识别中的声学特征及其物理意义:在语音识别任务中,我们可以提取的声学特征有声波的频率(包括基频)、振幅、声压、声强、共振、共振峰等。频率:声波的频率是单位时间内,声波的周期数。频率是周
3、期的倒数。基频是从语言波中提取出声带振动的基本频率,其方法既可以是测量基频本身,也可以是利用谐波来求出基频。基频随时间的变化方式,构成了声调和语调,它是重要的语声特征。人耳对于声波频率高低的感觉与实际频率近似成对数关系。基频的范围为:60Hz500Hz 。振幅:声音引发传播介质振动偏移平衡位置的最大距离叫声波的振幅。声音的振幅大小表示了声波的能量大小。声压:声压就是大气压受到声波扰动后产生的变化,即为大气压强的余压,它相当于在大气压强上的叠加一个声波扰动引起的压强变化。声压p用来度量由于声波的传播而带来的气压的变化,单位为帕(Pa)。声压可以用来表示声音的强度。声强:声音传播时也伴随着能量的传
4、播。声强是单位时间内通过垂直于声波传播方向的单位面积的能量(声波的能量流密度)表示。声强可以用来表示声音的强度。共振:共振是当一个物体受迫震动时,所加驱动频率等于物体固有频率时,使物体的振幅达到最大。所加的驱动频率为共振频率。共振峰:发出的声音和身体固有频率相同时出现共振,声音所到达的最高点称为共振峰。声音在经过共振腔时,受到腔体的滤波作用,使得频域中不同频率的能量重新分配,一部分因为共振腔的共振作用得到强化,另一部分则受到衰减,得到强化的那些频率在时频分析的语图上表现为浓重的黑色条纹。由于能量分布不均匀,强的部分犹如山峰一般,故而称之为共振峰。DTW的语音识别方法: DTW(Dynamic
5、Time Warping )是一种模板匹配技术,是基于相似度计算与匹配实现的识别方法。 由于语音信号有很大的随机性,即使是同一个人在不同的时刻发的同一个语音,也不可能具有完全相同的时间长度。所以简单的将输入模版与相应的参考模板直接做比较存在很大的缺点。所以在孤立词识别中,时间归正处理是必不可少的。动态时间弯折(DTW)是把时间归正和距离测度计算结合起来的一种非线性归正技术。该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题。 DTW基本原理:采用动态规划技术,将一个复杂的全局最优化问题转化为许多局部最优化问题,一步一步地进行决策。DTW就是要找一个最佳的时间归正函数,使待测语音
6、的时间轴j非线性地映射到参考模版的时间轴上,使总的累计失真量最小。DTW算法就是通过局部最优化方法实现加权距离的总和最小。加权函数选取考虑两个因素:一是根据第n对匹配点前一步局部路径的走向来选取,惩罚45度方向的局部路径,一边适应I不等于J的情况,二是要考虑语音各部分给予的不同权值,以加强某些区别特征。可以对时间归正函数做些限制,保证匹配路径不违背语音信号各部分特征的时间顺序。一般归正函数满足1.单调性2.起点和终点约束3.连续性4.最大归正量不超过某一极限累计最小失真函数,表示到匹配点位置的前面所有路径中最佳路径的累计匹配距离。DTW算法具体步骤:1.初始化 2递归求累计距离3回溯求出所有的
7、匹配点对。DTW算法中的模版训练算法有偶然模版训练法、顽健模版训练法、通过聚类方法。偶然模版训练法:它是一种简单的多模版训练方法。将每个词的每一遍语音形成一个模版。识别时,待识别矢量序列用DTW算法分别求的与每个模版累计失真后,判别它是输入哪一类。但是由于语音的偶然性很大,且训练时语音可能存在错误,具有较大的偶然性。顽健模版训练方法:将每个词重复说多遍,直到得到一对一致性较好的特征矢量序列。最终得到的模版是在一致性较好的特征矢量序列对在沿DTW路径上求平均。这样得到的模版显然比偶然训练法可靠,但如果每个词的模版有这样一个模板表示,往往显得不够充分。识别任务针对非特定人时,这种问题更为突出。非特
8、定人识别的模版训练算法-聚类方法:非特定人识别,获得较高的识别率,必须用多组数据进行训练,以获得可靠的模版参数。语音识别模版的聚类与常规的聚类方法的不同的是语音识别模版的聚类,针对的是有时序关系的谱特征序列,而不是维数固定的模式。HMM的语音识别方法:HMM是马尔可夫链的一种。它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。HMM是一种随机过程,它用概率统计的方法来描述语音信号的变化过程。HMM是对语音信号的时间序列结构建立统计模型,它可以看作是一个数学上的双重随机过程:一个是用具
9、有有限状态的Markov链来模拟语音信号统 计特性变化的隐含随机过程,另一个是与Markov链的每一个状态相关联的观测序列的随机过程。在HMM中有三个基本问题:(1) 已知模型参数,计算某一给定可观察状态序列的概率: 使用前向算法来计算在某个特定的HMM下一个可观察状态序列的概率。 前向算法(Forward Algorithm): 1. 穷举搜索给定一个HMM,我们想计算出某个可观察序列的概率。在每种状态下出现这种可观察状态的概率是由混淆矩阵给出的。一个可能的计算可观察概率的方法是找到每一个可能的隐藏状态的序列。2. 使用递归来降低复杂度 我们可以考虑给定HMM的情况下,递归的计算一个可观察序
10、列的概率。我们可以首先定义一个部分概率,表示达到某个中间状态的概率。 1) 部分概率 计算到达某个状态的所有路径的概率和来计算到达某个中间状态的概率。最后一个观察状态的部分概率就表示了整个序列最后达到某个状态的所有可能的路径的概率和。 2) 计算 t=1时候的部分概率计算 t=3)计算 t1 时候的部分概率 计算部分概率的公式是:t(j)= Pr(观察状态 | 隐藏状态 j) x Pr(t 时刻到达状态 j 的所有路径)。 前向算法主要采用的是递归的思想来计算所有可能的路径的概率和,利用了之前的计算结果,降低复杂度。(2) 根据可观察状态的序列找到一个最可能的隐藏状态序列: 使用Viterbi
11、 算法来根据可观察序列得到最优可能的隐藏状态的序列。维特比算法(Viterbi Algorithm)1. 穷举搜索通过计算所有可能的隐藏序列的概率,我们可以找到一个可能性最大的隐藏序列,这个可能性最大的隐藏序列最大化了 Pr(观察序列 | 隐藏状态集)。这个方法是可行的,但是计算代价很高。2. 使用递归降低复杂度 在给定了一个可观察序列和HMM的情况下,可以考虑递归的来寻找最可能的隐藏序列。先定义一个部分概率 ,即到达某个中间状态的概率。这里的部分概率表示的是在t时刻最可能到达某个状态的一条路径的概率,而不是所有概率之和。 1) 部分概率和部分最优路径 我们可以用 (i, t) 来表示在t时刻
12、,到状态i的所有可能的序列(路径)中概率最大的序列的概率,部分最优路径就是达到这个最大概率的路径,对于每一个时刻的每一个状态都有这样一个概率和部分最优路径。 最后,我们通过计算 t=T 时刻的每一个状态的最大概率和部分最优路径,选择其中概率最大的状态和它的部分最优路径来得到全局的最优路径。 2) 计算 t=1 时刻的部分概率 3) 计算 t1 时刻的部分概率 根据 t-1 时刻的部分概率来求 t 时刻的部分概率 t 时刻可观察状态为 kt的第 i 个状态的最大部分概率的计算公式: 其中 aji表示从状态 j 转移到状态 i 的概率,bikt表示状态i被观察成 kt的概率。Viterbi算法是一
13、个根据可观察序列计算隐藏序列的很高效的方法,它利用递归来降低计算复杂度,并且使用之前全部的序列来做判断。 Viterbi 算法可以根据可观察序列找到最优的隐藏序列。最可能的终止状态就是隐藏序列的最后一个状态,然后通过后向指针来查找整个序列的全部状态。(三) 根据观察到的序列集来找到一个最有可能的 HMM:对于给定的可观察状态序列 O 来说,没有任何一种方法可以精确地找到一组最优的HMM参数使 P(O | ) 最大,于是人们寻求使其局部最优的解决办法,而前向后向算法(也称为Baum-Welch算法)就成了HMM学习问题的一个近似的解决方法。 前向后向算法首先对于HMM的参数进行一个初始的估计,但
14、这个很可能是一个错误的猜测,然后通过对于给定的数据评估这些参数的的有效性并减少它们所引起的错误来更新HMM参数,使得和给定的训练数据的误差变小,这其实是机器学习中的梯度下降的思想。前向后向算法:首先需要定义两个辅助变量。第一个变量定义为 t 时状态 i 和 t+1 时状态 j 的概率,即该等式等价于利用前向变量和后向变量,上式可以表示为第二个变量定义为后验概率,也就是在给定观察状态序列和HMM的情况下,t 时状态 i 的概率,即利用前向变量和后向变量,上式可以表示为我们可以发现定义的这两个变量之间的关系为在前向后向算法的参数学习过程中,不断更新HMM的参数,从而使得 P(O | ) 最大。假设
15、初始的HMM参数为= ,A, B,首先计算前向变量 和后向变量 ,再根据刚刚介绍的公式计算期望 和 ,最后,根据下面的3个重估计公式更新HMM参数。假设当前的HMM模型为= ,A,B,利用该模型计算上面三个式子的右端得到的重新估计的HMM模型为,那么上面三个式子的左端就是重估的HMM模型参数。如果我们迭代地计算上面三个式子,由此不断地重新估计HMM的参数,那么在多次迭代后可以得到HMM模型的一个最大似然估计。不过前向后向算法所得的这个最大似然估计是一个局部最优解。一种语音合成方法: 共振峰合成技术是基于对发声过程的模拟的语音合成技术。共振峰:我们把声道传输频率响应上的极点称之为共振峰。语音的共振峰频率(极点频率)的分布特性决定着该语音的音色。共振峰合成原理:音色各异的语音具有不同的共