本发明属于技术领域,尤其涉及一种计算机语言认识教育系统的mfcc倒谱系数计算方法。
背景技术:
对于失语症患者的康复治疗中需要使用语音识别技术,针对失语症患者语音信号发音断断续续的特点,实验以孤立字或者简单词为识别单位,即直接取孤立字、简单词为识别单元。目前的识别方法有以下几种:
(1)动态时间归正的识别技术(dtw)在算法方面,绝大多数都使用动态时间归正(dtw)的模板匹配技术。矢量量化是对矢量进行量化,只是由于不同人或同一人在不同时间里读音的时间有长有短,而且这种长短变化会有不太大的非线性偏离。因此,简单的考虑方法:短时内用线性模型参数来表示,然后将这些短时线性模型在时间上串接,这就是markov链:通过另一个随机过程描述状态和观察值之间的统计对应关系。
(2)矢量量化(vq)算法矢量量化(vectorquantization,vq)技术是二十世纪70年代后期发展起来的一种数据压缩和编码技术,它把矢量空间划分成若干个小区域,每个小区域寻找一个代表矢量,量化时落入小区域的矢量就用这个小区域代替,或者叫做被量化为这个代表矢量。因此,同一个字的不同读音必须在端点对齐的条件下,对时间进行伸缩,以便使待识别的语音和模板之间求得最佳的匹配。
(3)隐马尔科夫模型hmm语音在短时内(5~50ms)认为是平稳的,可用一些线性模型来描述。此算法的基本出发点是同一个字的语音信号的特征参数(如频谱)随时间变化的规律是相似的,广泛应用于语音编码、语音合成、语音识别和说话人识别等领域。而从整体上来说,语音信号是时变的,用模型表示时,参数要时变。hmm通过状态转移概率对基元发音速率建模,通过依赖状态的观察输出概率对基元发音的声学变化建模,这就是hmm应用于语音识别的思想。
而上述模型的建立时,语音特征参数的提取及提取算计是模型建立的重要环节,也语音识别系统的识别率高低的关健,现在的计算机语音识别系统存在识别率低,或者评估结果准确率低,且不能进行康复训练的问题。
技术实现要素:
本发明针对的问题,提出一种计算机语言认识教育系统的mfcc倒谱系数计算方法。
为了实现上述目的,本发明采用以下技术方案:一种计算机语言认识教育系统,包括:
数据库模块,用于构建语音识别评估训练库;
评估模块,用于基于构建的语音识别评估训练库进行言语障碍评估;
训练模块,用于基于评估结果,通过构建的语音识别评估训练库进行言语障碍康复训练;
进一步地,所述语音识别评估训练库包括语言认知动画、漫画、图片、文字、语音;所述语言包括普通话及方言;
进一步地,所述评估模块包括:
第一评估子模块,用于基于构建的语音识别评估训练库进行认知评估:
选择语言,基于构建的语音识别评估训练库构建认知评估测试量表,基于所述认知评估测试量表进行认知评估测试,得出认知评估结果;
第二评估子模块,用于基于构建的语音识别评估训练库进行失语症评估:
选择语言,基于构建的语音识别评估训练库进行失语症评估测试,所述失语症评估测试包括:动名词、句子的理解、音读、复述、抄写、听写失语症评估测试,得出失语症评估结果;
第三评估子模块,用于基于构建的语音识别评估训练库进行构音障碍评估:
选择语言,打开语音识别开关,基于构建的语音识别评估训练库,进行构音障碍评估测试,所述构音障碍评估测试包括:单词、字、音节、文章检查,所述音节检查中针对单词、字检查中所有出错的读音进行重新测试,得出构音障碍评估结果;
进一步地,所述训练模块包括:
第一训练子模块,用于基于认知评估结果,通过构建的语音识别评估训练库进行认知训练:
基于认知评估结果,通过构建的语音识别评估训练库,进行方向识别、感知障碍、沟通障碍、计算、记忆缺损、结构性失用、空间定位、排序、躯体结构、声音失认、数数、思维逻辑障碍、颜色、肢体失用、注意力障碍、组合或记忆障碍训练;
进行不同动画分类播放控制,对认知以动画的表现方式进行训练;
第二训练子模块,用于基于失语症评估结果,通过构建的语音识别评估训练库进行失语症训练:
基于认知评估结果,通过构建的语音识别评估训练库,进行语音理解、文字阅读、文字音读、语音复述、文字听写、文字抄写、图片说明、文字听选或漫画说明训练;
第三训练子模块,用于基于构音障碍评估结果,通过构建的语音识别评估训练库进行构音障碍训练:
基于认知评估结果,通过构建的语音识别评估训练库,对常用声母、韵母分为俗语、对话、常用字、常用词语、惯用语5个部分进行训练。
一种mfcc倒谱系数计算方法,所述的计算机语言认识教育系统中的评估模块的模型建立时,采用的是mfcc倒谱系数计算方法,具体步骤如下:
1)、将采集到的语音信号进行分帧,预加重和加汉明窗处理,然后进行短时傅立叶变换计算得到其频谱,将频率尺度转换为mel频率尺度:mel=0.438x1+0.042x2-0.958x3-4.73x4+6.859;
2)、在mel频率轴上的三角形滤波器组有l个通道的,每一个三角形滤波器在mel频率轴上等间隔分配其中心频率c,设三角形滤波器组中的第l个三角形滤波器的上限、中心和下限频率分别用lh、lo、lc表示,则相邻三角形滤波器之间的上限、中心和下限频率有如下关系:信号的截止频率决定了所需通道l的个数;
3)、求出语音信号幅度谱xn,用l个mel带通滤波器进行滤波,计算每一个三角形滤波器的输出;由于作用的实际效果是每一个频带分量在人耳中的叠加,因此将每个滤波器频带内的能量进行叠加,第l个滤波器输出m(l)为:在阈值取值不同时,gop打分与人工打分的偏差程度由大开始减小接着慢慢有增大,多次实验证明,为了词语与句子在评估结果上都达到最优效果,需要针对词语和句子分别选取阈值,通过调节阈值使得gop得分达到人工评分标准,标准的界定通过求gop打分与人工打分的均根方差来衡量,均根方差越小,表示所取阈值越优,gop算法更加接近实际人工打分,计算公式如下:sd=2其中,manualscore人工打分,autoscore为在给定阈值下的自动打分,通过大量数据样本,分别得到句子打分阈值与其对应均根方差拟合公式:h2=t*h-tt,通过对句子和词语的拟合公式求最小值得到句子的最优阈值:116.4,在最优阈值下,对应均根方差1.652;词语的最优阈值:108.6,对应均根方差2.136;词语的打分阈值与其对应均根方差拟合公式:以短时零谱积参数为对象,设置一个动态域值作为门限,检测声母的开始端点;该动态域值的计算公式为:经实验分析,式中系数η取1.5
还包括声韵母划分与音节(字)的分割,在一种计算机语言认识教育系统中所选用的字都有声母和韵母,因此在进行音节分割时,步骤如下:
1)、首先将每帧信号的短时自相关能量ri与自适应阈值rn进行比较,若r(i)rn,则对应的第i帧值为1,反之,对应第i帧值为0,并将比较结果存放到韵母判别数组y(i)里用于以后判别;
2)、数组yi中序号为i的元素与语音信号短时自相关能量ri的帧序号相同;通常,只有韵母段的自相关能量r(i)rn,所对应的yi中的值为1;
3)、然后对整个语音段关于特征参数hz进行比较判决,将每一帧的hz(i)与自适应动态域值ln比较,若hz(i)ln则对应的第i帧值为1,反之,对应第i帧值为0,并将比较结果存放到判别数组l(i)里用于以后判别;li定义如下:li=hz+ln*o,在语音信号中只有声母段所对应的数组li元素的值为1;
4)、对数组yi进行搜寻查找,以确定每个音节(字)韵母的起始和结束端点;从数组yi的第一个元素开始搜索,当搜索到元素值为1时,便设其i为第一个字的韵母起始“帧号”,并计算其后连续有几个1;为了消除误判,预先设置一个韵母段中应包含最少帧数的阈值yd;当yi中连续为1的个数大于预先设置的最少帧数阈值yd时,则将所设的韵母起始“帧号”作为第一个字的韵母起始点,该点加上连续为1的帧数即该字的韵母帧区间;当连续为1的个数小于最少帧数的的阈值yd时,放弃该韵母起始“帧号”,继续向后寻找yi中元素值连续为1的个数大于设置的阈值的段;
5)、最后对数组li进行搜寻查找,以确定每个音节(字)的声母起始和结束端点;根据第一个字的韵母起始点的帧号i,从数组li的第i个元素向前搜索,本算法设计主要依据清音和浊音之间的能量差相当显著以及清音和浊音之间短时过零率的差别,采用短时自相关能量和短时零谱积作为特征参数来进行检测;
所述的短时自相关能量和短时零谱积作为特征参数来进行检测是指,基于短时自相关能量的韵母端点的检测采用短时自相关能量作为特征参数,即先对分帧后的语音信号序列x(m)进行傅立叶变换,然后计算自相关功率谱r(k),最后将其累加获得短时自相关能量r(i);计算步骤如下:
1)、利用fft计算x(m)的离散傅立叶变换dft,得到短时傅立叶变换x(k);因此,可用短时自相关能量参数为对象,设置一个动态域值rn作为门限,检测韵母的端点;在本算法中,首先计算每帧语音信号的lpcc,然后累加每帧语音信号的lpcc序列h(n),再与短时过零率z(i)相乘,将其乘积作为特征参数,在这里称之为短时零谱积,并用符号hz表示;韵母都是浊音,在语音信号的短时自相关能量中浊音最高;同样为了消除误判,预先设置一个声母段中应包含的最少帧数的阈值ls,当li中连续为1的个数大于预先设置的阈值ls时,则将所设的声母结束“帧号”作为第一个字的声母结束点,该点加上连续为1的帧数即该字的声母帧区间;因为对于不同的语音信号,该阈值都不相同,所以这种算法求出的阈值具有动态变化和自适应的性能;自适应动态域值rn的计算公式为:即先将n帧短时自相关能量进行求和,然后求出平均值;
2)、基于短时零谱积的声母端点的检测由于声母的过零率明显高于韵母和噪声的过零率,计算每一帧语音信号的自相关功率谱r(k)=x(k)x(k),对每一帧的自相关功率谱进行累加,得到短时自相关能量;声母对应的是清音,观察语音信号的短时零谱积时,可以发现清音的短时零索到元素值为1时,便设li中对应的j为第一个字的声母结束“帧号”,并继续向前搜寻,计算其连续有几个元素值为1;当连续为1的个数小于预先设置的最少帧数的阈值ls时,放弃该声母结束“帧号”,继续向前寻找li中元素值连续为1的个数大于设置的阈值的段;将确定的声母起始帧号和韵母结束帧号中间的区间作为第一个音节的区间,然后继续向后搜寻以确定其它音节的帧区间;搜寻时需判断和限定后一个音节的声母结束和起始帧号都不能大于前一个音节的韵母结束帧号;因为在声母和韵母语音信号之间往往存在一个过渡段,所以通过预先设置的一个韵母段中应包含的最少帧数的阈值yd,声母段中应包含的最少帧数的阈值ls,在搜寻时进行判别可以减少误判。
因此,从最后时刻的最佳状态进行路径回溯完毕,我们就可以确定每个时刻系统所处的状态,得到一条唯一的最佳状态转移路径,使得在确定模型参数和此路径下,得到观测序列的概率最高。一条路径在开始时看起来可能并不好,但后来它可能会变成最佳路径。所以使用假定就是为了使我们能够用一种简单办法来分解最佳路径概率的计算,在时刻的每条最佳路径就是在时刻一终结的每条路径的最佳扩充。为了说明隐马尔科夫模型参数的重估方法,即迭代更新,是计算在给定模型的条件下,产生观测序列的概率,即它是在给定模型和观测序列条件下,在时间处于状态,而在时间处于状态凡的概率,为了计算这个联合事件的概率,说明输出前个观测值且在时间处于状态尽,在时间转移以状态凡,并输出观测符号。这是三个问题中最困难的一个,给定任何有限观测序列作为训练数据,没有一种最佳方法能估计模型参数,但是可以利用迭代处理方法来处理,模型参数的迭代处理方法。一个常用的最佳判据是选择这样一些状态为最佳状态序列,它们都是最有可能发生的。问题的求解—算法问题是调整模型参数,使观测序列在给定模型条件下发生概率最大。这一最佳判据,就是要使“正确的”状态数目的期望值最大,这里“最佳”意义是得到状态变化的最优路径二,可以使用动态规划恒定来实现。那么参数,对的求取过程为,根据观测值序列和选取得初始模型,由重估公式求得一组新参数,亦得到一个新的模型,得到由重估公式得到的兄比兄在表示观察序列方面要好,那么重复这个过程,逐步改行模型参数,不再明显增大,此时觅为所求值模型。这种假定认为,如果对于全部的观察序列,最终的最佳路径恰好通过了状态,这条最佳路径必定是所有在此之前包括状态在内的所有路径中的最佳路径。
具体实施方式
下面结合实施例对本发明做进一步的解释说明:
实施例1
一种计算机语言认识教育系统,包括:
数据库模块,用于构建语音识别评估训练库;
评估模块,用于基于构建的语音识别评估训练库进行言语障碍评估;
训练模块,用于基于评估结果,通过构建的语音识别评估训练库进行言语障碍康复训;
具体地,所述语音识别评估训练库包括语言认知动画、漫画、图片、文字、语音;所述语言包括普通话及方言;
具体地,所述评估模块包括:
第一评估子模块,用于基于构建的语音识别评估训练库进行认知评估:
选择语言,基于构建的语音识别评估训练库构建认知评估测试量表,基于所述认知评估测试量表进行认知评估测试,得出认知评估结果;
第二评估子模块,用于基于构建的语音识别评估训练库进行失语症评估:
选择语言,基于构建的语音识别评估训练库进行失语症评估测试,所述失语症评估测试包括:动名词、句子的理解、音读、复述、抄写、听写失语症评估测试,得出失语症评估结果;
第三评估子模块,用于基于构建的语音识别评估训练库进行构音障碍评估:
选择语言,打开语音识别开关,基于构建的语音识别评估训练库,进行构音障碍评估测试,所述构音障碍评估测试包括:单词、字、音节、文章检查,所述音节检查中针对单词、字检查中所有出错的读音进行重新测试,得出构音障碍评估结果;
具体地,所述训练模块包括:
第一训练子模块,用于基于认知评估结果,通过构建的语音识别评估训练库进行认知训练:
基于认知评估结果,通过构建的语音识别评估训练库,进行方向识别、感知障碍、沟通障碍、计算、记忆缺损、结构性失用、空间定位、排序、躯体结构、声音失认、数数、思维逻辑障碍、颜色、肢体失用、注意力障碍、组合或记忆障碍训练;
进行不同动画分类播放控制,对认知以动画的表现方式进行训练;
第二训练子模块,用于基于失语症评估结果,通过构建的语音识别评估训练库进行失语症训练:
基于认知评估结果,通过构建的语音识别评估训练库,进行语音理解、文字阅读、文字音读、语音复述、文字听写、文字抄写、图片说明、文字听选或漫画说明训练;
第三训练子模块,用于基于构音障碍评估结果,通过构建的语音识别评估训练库进行构音障碍训练:
基于认知评估结果,通过构建的语音识别评估训练库,对常用声母、韵母分为俗语、对话、常用字、常用词语、惯用语5个部分进行训练。
实施例2
一种mfcc倒谱系数计算方法,所述的计算机语言认识教育系统中的评估模块的模型建立时,采用的是mfcc倒谱系数计算方法,具体步骤如下:
1)、将采集到的语音信号进行分帧,预加重和加汉明窗处理,然后进行短时傅立叶变换计算得到其频谱,将频率尺度转换为mel频率尺度:mel=0.438x1+0.042x2-0.958x3-4.73x4+6.859;
2)、在mel频率轴上的三角形滤波器组有l个通道的,每一个三角形滤波器在mel频率轴上等间隔分配其中心频率c,设三角形滤波器组中的第l个三角形滤波器的上限、中心和下限频率分别用lh、lo、lc表示,则相邻三角形滤波器之间的上限、中心和下限频率有如下关系:信号的截止频率决定了所需通道l的个数;
3)、求出语音信号幅度谱xn,用l个mel带通滤波器进行滤波,计算每一个三角形滤波器的输出;由于作用的实际效果是每一个频带分量在人耳中的叠加,因此将每个滤波器频带内的能量进行叠加,第l个滤波器输出m(l)为:在阈值取值不同时,gop打分与人工打分的偏差程度由大开始减小接着慢慢有增大,多次实验证明,为了词语与句子在评估结果上都达到最优效果,需要针对词语和句子分别选取阈值,通过调节阈值使得gop得分达到人工评分标准,标准的界定通过求gop打分与人工打分的均根方差来衡量,均根方差越小,表示所取阈值越优,gop算法更加接近实际人工打分,计算公式如下:sd=2其中,manualscore人工打分,autoscore为在给定阈值下的自动打分,通过大量数据样本,分别得到句子打分阈值与其对应均根方差拟合公式:h2=t*h-tt,通过对句子和词语的拟合公式求最小值得到句子的最优阈值:116.4,在最优阈值下,对应均根方差1.652;词语的最优阈值:108.6,对应均根方差2.136;词语的打分阈值与其对应均根方差拟合公式(4.4):以短时零谱积参数为对象,设置一个动态域值作为门限,检测声母的开始端点;该动态域值的计算公式为:经实验分析,式中系数η取1.5
还包括声韵母划分与音节(字)的分割,在一种计算机语言认识教育系统中所选用的字都有声母和韵母,因此在进行音节分割时,步骤如下:
4)首先将每帧信号的短时自相关能量ri与自适应阈值rn进行比较,若r(i)rn,则对应的第i帧值为1,反之,对应第i帧值为0,并将比较结果存放到韵母判别数组y(i)里用于以后判别;
5)数组yi中序号为i的元素与语音信号短时自相关能量ri的帧序号相同;通常,只有韵母段的自相关能量r(i)rn,所对应的yi中的值为1;
6)然后对整个语音段关于特征参数hz进行比较判决,将每一帧的hz(i)与自适应动态域值ln比较,若hz(i)ln则对应的第i帧值为1,反之,对应第i帧值为0,并将比较结果存放到判别数组l(i)里用于以后判别;li定义如下:li=hz+ln*o,在语音信号中只有声母段所对应的数组li元素的值为1;4)对数组yi进行搜寻查找,以确定每个音节(字)韵母的起始和结束端点;从数组yi的第一个元素开始搜索,当搜索到元素值为1时,便设其i为第一个字的韵母起始“帧号”,并计算其后连续有几个1;为了消除误判,预先设置一个韵母段中应包含最少帧数的阈值yd;当yi中连续为1的个数大于预先设置的最少帧数阈值yd时,则将所设的韵母起始“帧号”作为第一个字的韵母起始点,该点加上连续为1的帧数即该字的韵母帧区间;当连续为1的个数小于最少帧数的的阈值yd时,放弃该韵母起始“帧号”,继续向后寻找yi中元素值连续为1的个数大于设置的阈值的段;
5)最后对数组li进行搜寻查找,以确定每个音节(字)的声母起始和结束端点;根据第一个字的韵母起始点的帧号i,从数组li的第i个元素向前搜索,本算法设计主要依据清音和浊音之间的能量差相当显著以及清音和浊音之间短时过零率的差别,采用短时自相关能量和短时零谱积作为特征参数来进行检测;
所述的短时自相关能量和短时零谱积作为特征参数来进行检测是指,基于短时自相关能量的韵母端点的检测采用短时自相关能量作为特征参数,即先对分帧后的语音信号序列x(m)进行傅立叶变换,然后计算自相关功率谱r(k),最后将其累加获得短时自相关能量r(i);计算步骤如下:
1)、利用fft计算x(m)的离散傅立叶变换dft,得到短时傅立叶变换x(k);因此,可用短时自相关能量参数为对象,设置一个动态域值rn作为门限,检测韵母的端点;在本算法中,首先计算每帧语音信号的lpcc,然后累加每帧语音信号的lpcc序列h(n),再与短时过零率z(i)相乘,将其乘积作为特征参数,在这里称之为短时零谱积,并用符号hz表示;韵母都是浊音,在语音信号的短时自相关能量中浊音最高;同样为了消除误判,预先设置一个声母段中应包含的最少帧数的阈值ls,当li中连续为1的个数大于预先设置的阈值ls时,则将所设的声母结束“帧号”作为第一个字的声母结束点,该点加上连续为1的帧数即该字的声母帧区间;因为对于不同的语音信号,该阈值都不相同,所以这种算法求出的阈值具有动态变化和自适应的性能;自适应动态域值rn的计算公式为:即先将n帧短时自相关能量进行求和,然后求出平均值;
2)、基于短时零谱积的声母端点的检测由于声母的过零率明显高于韵母和噪声的过零率,计算每一帧语音信号的自相关功率谱r(k)=x(k)x(k),对每一帧的自相关功率谱进行累加,得到短时自相关能量;声母对应的是清音,观察语音信号的短时零谱积时,可以发现清音的短时零索到元素值为1时,便设li中对应的j为第一个字的声母结束“帧号”,并继续向前搜寻,计算其连续有几个元素值为1;当连续为1的个数小于预先设置的最少帧数的阈值ls时,放弃该声母结束“帧号”,继续向前寻找li中元素值连续为1的个数大于设置的阈值的段;将确定的声母起始帧号和韵母结束帧号中间的区间作为第一个音节的区间,然后继续向后搜寻以确定其它音节的帧区间;搜寻时需判断和限定后一个音节的声母结束和起始帧号都不能大于前一个音节的韵母结束帧号;因为在声母和韵母语音信号之间往往存在一个过渡段,所以通过预先设置的一个韵母段中应包含的最少帧数的阈值yd,声母段中应包含的最少帧数的阈值ls,在搜寻时进行判别可以减少误判。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。