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