一种基于语音识别及语音分析的发音评估方法

文档序号:2821722阅读:261来源:国知局
专利名称:一种基于语音识别及语音分析的发音评估方法
技术领域
本发明涉及一种发音评估方法,更具体地说,本发明涉及基于语音识别及语音分析的发音评估方法。
背景技术
“说”是语言学习中的一个重要环节,市场上已有很多语言教学软件,比如,英语学习软件,这些软件所采用的教学方式基本都是“录音对比”,也就是说,他们只能提供学生发音以及教师示例发音的反复播放,让学生自己听着对比其中的不同兰纠正发音。其实,这样的方式所能起到的教学效果非常有限,因为人们通常发音不准,正是由于本身听不出“准确”与“不准确”发音之间的区别。
目前,市场也出现了具有发音评估功能的英语学习软件,但它们通常仅仅采用了语音识别技术来判断用户说了什么,只能给出一个笼统的评判,只能表明用户这一句话念的好不好,而用户所说的一句话中往往只是在某个或某几个单词上发音不准,这种只能对一句话的准确与否进行评估的方法不能精确地表明一句话中的各个单词(字)念的好不好,让用户有针对性的进行纠正,因而难以满足实际的需求。

发明内容
本发明要解决的技术问题是提供一种基于语音识别及语音分析的发音评估方法,对输入语音的分析和评判可以单词或单字为单位,从而提高评估的精确性。
为了解决上述技术问题,本发明提供了一种基于语音识别及语音分析的发音评估方法,包括以下步骤(a)选取输入的原始语音信号,采集并转换为数字信号,然后进行分帧处理;(b)提取语音帧的特征参数;(c)利用语音识别引擎对该输入语音进行识别,得到每个单词(如,对英文)或单字(如,对中文)的分段信息,并计算出每个单词或单字的置信度;(d)根据每个单词或单字的置信度,对该输入语音中每个单词或单字的发音真实度进行评估。
进一步地,为了在评估时同时计入原始语音时长、能量、基频等与标准语音的差异,上述发音评估方法可具有以下特点所述步骤(b)中还计算出每个语音帧的能量和基频,或者其中的一种,所述步骤(c)后还包括步骤(c1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个单词或单字的相似度,在步骤(d)中与所述置信度一起加权计算每个单词或单字的发音真实度。
进一步地,上述发音评估方法可具有以下特点所述步骤(c)中还得到了每个音节的分段信息,所述步骤(c1)进一步分为以下步骤(c11)根据每个音节所包含的语音帧数量得到音节的时长信息,将每个音节所包含所有语音帧的能量和基频各自相加后除以语音帧的个数分别得到音节的基频和能量信息;(c12)分别将每个单词或单字包含的所有音节的时长、能量和基频信息与对应的标准发音信息相比较,计算得到每个单词或单字的时长、能量和基频的差异值;(c13)根据所述各个差异值和相似度的计算公式算出每个单词或单字的相似度。
进一步地,上述发音评估方法可具有以下特点所述步骤(c11)中还根据每个单词或单字包含所有音节的时长、基频和能量累加得到每个单词或单字的时长、基频或能量,并与对应的标准发音信息相比较得到每个单词或单字时长、能量和基频的另一组差异值,所述步骤(c13)中计算每个单词或单字的相似度时同时考虑了两组差异值的影响。
进一步地,上述发音评估方法可具有以下特点所述步骤(c12)中计算每个单词或单字的时长、能量和基频的差异值时,是分别将其包含所有音节的时长、能量和基频与标准发音信息的差值平方后取均值得到的。
本发明要解决的技术问题是提供一种基于语音识别及语音分析的发音评估方法,对输入语音的分析和评判可以音节为单位,从而提高评估的精确性。
为了解决上述技术问题,本发明提供了一种基于语音识别及语音分析的发音评估方法,包括以下步骤
(o)选取输入的原始语音信号,采集并转换为数字信号,然后进行分帧处理;(p)对语音帧进行特征参数的提取;(q)利用语音识别引擎对该输入语音进行识别,得到精确到每个音节的分段信息,并计算出每个音节的置信度;(r)根据每一音节的置信度,对该输入语音中每一音节的发音真实度进行评估。
进一步地,为了在评估时同时计入原始语音时长、能量、基频等与标准语音的差异,上述发音评估方法可具有以下特点所述步骤(p)中还计算出每个语音帧的能量和基频,或者其中一种,所述步骤(q)后还包括步骤(q1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个音节的相似度,在步骤(r)中与所述置信度一起加权计算出每个音节的发音真实度。
进一步地,上述发音评估方法可具有以下特点所述步骤(q1)进一步分为以下步骤(q11)将每个音节所包含语音帧的时长、能量和基频,或者进一步计算出的该音节的时长、能量和基频,与对应的标准发音信息相比较,得到每个音节时长、能量和基频的差异值;(q12)根据每个音节的时长、能量和基频的差异值,分别计算出该音节时长、能量和基频的相似度或者计算出该音节同时考虑时长、能量和基频差异值的总的相似度。
进一步地,可以同时以音节和单词(字)为单位进行评估,即所述步骤(q)中还同时计算出输入语音中每个单词或单字的置信度;所述步骤(r)之后还包括步骤(s)根据每个单词或单字的置信度,对该输入语音中每个单词或单字的发音真实度进行评估。
进一步地,上述发音评估方法可具有以下特点所述步骤(p)中还计算出每个语音帧的能量和基频,或者其中一种,所述步骤(q)后还包括步骤(q1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个音节以及每个单词或单字的相似度,所述步骤(r)中根据所述每个音节的相似度和置信度加权计算该音节的发音真实度,所述步骤(s)根据每个单词或单字的相似度和置信度加权计算该单词或单字的发音真实度。
本发明不需要用户自行比对声音,并且不是只用简单的语音识别技术来判断用户说了什么,而是先利用语音识别技术对用户的发音进行准确切分,精确到一句话中的每个字,每个音节;然后,在利用发音的强度信息、频率信息、韵律信息来精确分析用户的发音同标准的发音有什么不同,最终告诉用户(学习者)问题出在哪一个字、哪一个音节,以及如何改进,可以大大提高发音评估的精确度和效果。


图1是本发明实施例的发音评估方法的系统框图;图2是某个例句进行识别分段后的结果示例图;图3是本发明第一实施例方法的流程图;图4是本发明第二实施例方法的流程图。
具体实施例方式
下面结合附图与具体实施方式
对本发明做进一步详细描述。
第一实施例图1是本实施例发音评估方法的系统框图,如图所示,本实施例的发音评估系统包括语音特征提取模块、语音识别及自动对齐规整模块、信息融合分析模块。原始语音输入后,首先进入语音特征提取模块进行特征提取,该特征提取过程是对原始语音信号进行分帧处理并获得每一帧的发音强度、发音时长、基频曲线等特征的数据。然后对原始语音信号进行MFCC变换,并进入语音识别模块,根据当前学习内容、标准语音模型对经过MFCC变换后的语音信号进行语音识别并自动对齐规整,匹配出可以精确到句中每个英文单词或中文的一个单字的分段信息;再根据这些分段信息分别计算出每个字或者音节的置信度。最后进入信息融合分析模块,在该模块中,综合特征提取模块中提取的发音强度、发音时长、基频曲线等数据和语音识别模块中获得的分段信息、置信度等数据,并对比学习内容样本库进行融合分析,得出对本次发音的最终评判,该评判精确到本次发音的每一个单词或单字。
图3是本实施例的流程图,如图所示,包括以下步骤步骤100,用户读出学习内容中的一句话;步骤101,进行原始语音信号采集,将每次用户发音的模拟信号转变成数字采样信号;步骤102,将语音的数字信号进行分帧处理,通常以25ms为一个分析帧的长度,每一帧分析完后,将分析帧向后移动10ms,再重复处理,直至所有信号处理完毕;步骤103,对每一帧语音信号分别计算出该帧的语音能量,MFCC参数,以及基音频率;步骤104,根据当前的学习内容,利用语音识别引擎对输入语音进行识别,得到针对这一句话的分段信息,本实施例是得到每个单词或单字,以及每个单词或字所包含音节的分段信息;图2是对某个例句进行识别分段后的结果示例图。
步骤105,得到分段信息后,继续计算出输入语音中每个单词或单字的置信度;上述步骤104和105中,分段信息及置信度的计算都采用专利申请“语音识别置信度评价方法和系统及应用该方法的听写装置(申请号02148686.7)”中公开的算法,但也可以采用其它算法,本发明对此并不加以限制。
步骤106,根据得到的分段信息及每一帧的语音能量、基音频率,计算输入语音中每个词或字的时长、能量和基频;一个单词或单字可能是由一个或多个连续的音节组成,本实施例是先计算每个音节的时长、能量和基频,再根据每个词或字中所包含的音节的上述信息得到每个词或字的时长、能量和基频。
音节的时长就是每个音节的发音长短,根据分段信息可直接得到,一帧语音相当于10ms,每个音节包含的所有语音帧的个数就可以表示本音节的时长;音节的语音能量和基音频率则通过将该音节的所有语音帧的语音能量和基音频率累计后求平均值得到。将用户原始语音每一帧上的能量记为eng(i)、基频记为pitch(i)、时长记为dur(i),其中i表示帧序号;将某个音节上的能量记为eng(k)、基频记为pitch(k)、时长记为dur(k),其中k表示音节的序号。则dur(k)等于音节k中包含的帧的个数;能量eng(k)是将音节k所包含的各帧能量eng(i)相加,再除以该音节所包含的帧的个数dur(k)得到;基频pitch(k)是将音节k内各帧的基频pitch(i)相加,再除以音节k的帧数dur(k)得到。
在本实施例中,每个单词或单字的时长、能量和基频均由其所包含的音节的时长、能量和基频叠加得到。将句子中每个单词或字的能量记为eng_w(j)、基频记为pitch_w(j)、时长记为dur_w(j);其中j表示单词或单字的序号,则时长dur_w(j)等于单词或字j包含的所有音节的时长dur(k)的和;能量eng_w(j)等于单词或字j包含的所有音节的能量eng(k)的和;基频pitch_w(j)等于单词或字j包含的所有音节的基频pitch(k)的和。
步骤107,将得到的每一个词或字的置信度、时长、能量和基频信息与学习内容样本库中对应的标准发音信息相比较,计算每个词或字的发音真实度;本实施例的具体算法如下1)先找到学习内容样本库中与本次输入语音内容对应的发音例句,得到一组与算出的每一个音节以及每一词(字)的时长、基频、能量相对应的“标准”时长、基频和能量信息,分别记为dur0(k),eng0(k),pitch0(k)和dur_w0(j),eng_w0(j),pitch_w0(j)。该标准时长、基频和能量信息可以预先保存,也可以根据标准语音库的该例句进行实时计算。
2)然后计算每个单词或字j的时长、能量、基频的差异值Δdur(j)=Σk(dur(k)-dur0(k))2/N for all syllable(k)∈word(j)]]>Δeng(j)=Σk(eng(k)-eng0(k))2/N for all syllable(k)∈word(j)]]>Δpitch(j)=Σk(pitch(k)-pitch0(k))2/N for all syllable(k)∈word(j)]]>其中N是属于Word(j)的syllable(音节)的个数,Δdur(j),Δeng(j),Δpitch(j)分别为单个词或字j的时长差异值,能量差异值,基频差异值。
3)再对时长、能量、基频差异值的信息进行融合,计算这些信息的相似度参数a=w1·Δdur(j)+w2·Δeng(j)+w3·Δpitch(j)---(1)]]>参数b=0.5*w1·x+w2·y+w3·z---(2)]]>其中x=|dur_w0(j)-dur_w(j)|2;y=|eng_w0(j)-eng_w(j)|2;z=|pitch_w0(j)-pitch_w(j)|2。
打分函数为sigmo(x)=arctan(x-3.5)/π*100+50(3)将式(1)、(2)式的结果代入式(3)得到相似度score1=sigmo(-log(a+b)/2)其中w1,w2,w3表示对不同信息的权重,可以分别设置,如为0.5,0.3,0.2。
4)最后根据每个单词或字的置信度和上面计算出来的相似度,计算得到每个单词或字的发音真实度评分。
将得到的word(j)的置信度记为score2,那么,最终word(j)的发音真实度就是score1和score2的加权平均score=w1·score1+w2·score2两者权重可以设为相同,即w1=w2=0.5。当然也可以设为不同。
步骤108,计算整句话的真实度,等于句话中所有单词或字的真实度score的平均值。
步骤109,根据以上计算结果对本次发音做出评判,将整句话的真实度、每个单词或单字的真实度反馈给用户。
第二实施例本实施例与第一实施例的主要区别在于,本实施例还进行了音节的发音真实度评估,以更精确地指出用户发音与标准发音的差异,另外,本实施例采用了不同的打分方法。
本实施例的的发音评估系统与第一实施例相同,其方法流程包括以下步骤步骤200,用户读出学习内容中的一句话;步骤201,进行原始语音信号采集,将每次用户发音的模拟信号转变成数字采样信号;步骤202,将语音的数字信号进行分帧处理,通常以25ms为一个分析帧的长度,每一帧分析完后,将分析帧向后移动10ms,再重复处理,直至所有信号处理完毕;步骤203,对每一帧语音信号分别计算出该帧的语音能量,MFCC参数(也可以是其他的特征参数),以及基音频率;步骤204,根据当前的学习内容,利用语音识别引擎对输入语音进行识别,得到针对这一句话的每个单词或单字,以及每个音节的分段信息;步骤205,得到分段信息后,计算出每个单词或字,以及其所包含的每个音节的置信度;仍采用申请号为02148686.7的专利申请公开的算法;步骤206,将得到的每一帧的时长、能量和基频信息dur(i),eng(i),pitch(i)与学习内容样本库中该帧对应的标准发音信息dur0(i),eng0(i),pitch0(i)相比较,计算输入语音中每个音节的时长、能量和基频的相似度;
先计算音节k的时长差异值、能量差异值和基频差异值Δdur(k),Δeng(k),Δpitch(k)Δdur(k)=Σi(dur(i)-dur0(i))2/N for all frame(i)∈syllable(k)]]>Δeng(k)=Σi(eng(i)-eng0(i))2/N for all frame(i)∈syllable(k)]]>Δpitch(k)=Σi(pitch(i)-pitch0(i))2/N for all frame(i)∈syllable(k)]]>其中N是属于syllable(k)的frame(帧)的个数。然后分别计算时长、能量和基频的相似度scorea=sigmo(-log(Δdur(k)+|dur0(k)-dur(k)|/2))]]>scoreb=sigmo(-log(Δeng(k)+|eng0(k)-eng(k)|/2))]]>scorea=sigmo(-log(Δpitch(k)+|pitch0(k)-pitch(k)|/2))]]>其中的sigmo(x)函数与第一实施例相同。
步骤207,计算每个词或字中所包含的每个音节的发音真实度;是根据每一音节的置信度和时长、能量、基频的相似度进行加权平均score=w1·score1+w2·score2+w3·score3+w4·score4其中w1,w2,w3,w4表示对不同信息的权重,可以分别设为0.25,0.15,0.10,0.5;步骤208,计算出单个词或字的真实度,单词或单字的真实度按其包含的所有音节真实度的均值确定,也可以采用第一实施例的方法计算;步骤209,计算整句话的真实度,等于这句话中所有单词或单字的真实度score的平均值;步骤210,根据以上计算结果对本次发音做出评判,将整句话以及每一音节的真实度反馈给用户。
本发明在上述实施例的基础上可以有很多的变换,例如对于每个词或字的真实度是考虑了置信度、时长、基频和能量四个信息,其中时长、基频和能量也可以不考虑,或者考虑其中一种或其任意组合。
又如,对于单词或单字,以及音节的真实度的具体计算方法上面举出了两种,但是这种算法可以很多变换,例如在第一实施例计算单词或单字的时长、基频和能量及其差异值时,不计算其所包含音节的时长、基频和能量的差异值,而直接采用该单词或单字所包含的帧来计算;相似度和最后真实度的计算方法可以有很多种,等等。
权利要求
1.一种基于语音识别及语音分析的发音评估方法,包括以下步骤(a)选取输入的原始语音信号,采集并转换为数字信号,然后进行分帧处理;(b)提取语音帧的特征参数;(c)利用语音识别引擎对该输入语音进行识别,得到每个单词或单字的分段信息,并计算出每个单词或单字的置信度;(d)根据每个单词或单字的置信度,对该输入语音中每个单词或单字的发音真实度进行评估。
2.如权利要求1所述的发音评估方法,其特征在于所述步骤(b)中还计算出每个语音帧的能量和基频,或者其中的一种,所述步骤(c)后还包括步骤(c1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个单词或单字的相似度,在步骤(d)中与所述置信度一起加权计算每个单词或单字的发音真实度。
3.如权利要求2所述的发音评估方法,其特征在于,所述步骤(c)中还得到了每个音节的分段信息,所述步骤(c1)进一步分为以下步骤(c11)根据每个音节所包含的语音帧数量得到音节的时长信息,将每个音节所包含所有语音帧的能量和基频各自相加后除以语音帧的个数分别得到音节的基频和能量信息;(c12)分别将每个单词或单字包含的所有音节的时长、能量和基频信息与对应的标准发音信息相比较,计算得到每个单词或单字的时长、能量和基频的差异值;(c13)根据所述各个差异值和相似度的计算公式算出每个单词或单字的相似度。
4.如权利要求3所述的发音评估方法,其特征在于,所述步骤(c11)中还根据每个单词或单字包含所有音节的时长、基频和能量累加得到每个单词或单字的时长、基频或能量,并与对应的标准发音信息相比较得到每个单词或单字时长、能量和基频的另一组差异值,所述步骤(c13)中计算每个单词或单字的相似度时同时考虑了两组差异值的影响。
5.如权利要求2所述的发音评估方法,其特征在于,所述步骤(c12)中计算每个单词或单字的时长、能量和基频的差异值时,是分别将其包含所有音节的时长、能量和基频与标准发音信息的差值平方后取均值得到的。
6.一种基于语音识别及语音分析的发音评估方法,包括以下步骤(o)选取输入的原始语音信号,采集并转换为数字信号,然后进行分帧处理;(p)对语音帧进行特征参数的提取;(q)利用语音识别引擎对该输入语音进行识别,得到精确到每个音节的分段信息,并计算出每个音节的置信度;(r)根据每一音节的置信度,对该输入语音中每一音节的发音真实度进行评估。
7.如权利要求6所述的发音评估方法,其特征在于所述步骤(p)中还计算出每个语音帧的能量和基频,或者其中一种,所述步骤(q)后还包括步骤(q1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个音节的相似度,在步骤(r)中与所述置信度一起加权计算每个音节的发音真实度。
8.如权利要求7所述的发音评估方法,其特征在于所述步骤(q1)进一步分为以下步骤(q11)将每个音节所包含语音帧的时长、能量和基频,或者进一步计算出的该音节的时长、能量和基频,与对应的标准发音信息相比较,得到每个音节时长、能量和基频的差异值;(q12)根据每个音节的时长、能量和基频的差异值,分别计算出该音节时长、能量和基频的相似度或者计算出该音节同时考虑时长、能量和基频差异值的总的相似度。
9.如权利要求6所述的发音评估方法,其特征在于,所述步骤(q)中还同时计算出输入语音中每个单词或单字的置信度;所述步骤(r)之后还包括步骤(s)根据每个单词或单字的置信度,对该输入语音中每个单词或单字的发音真实度进行评估。
10.如权利要求9所述的发音评估方法,其特征在于,所述步骤(p)中还计算出每个语音帧的能量和基频,或者其中一种,所述步骤(q)后还包括步骤(q1)将得到的语音帧能量、基频和分段信息中的一种或任意组合,与对应的标准发音信息相比较,计算每个音节以及每个单词或单字的相似度,所述步骤(r)中根据所述每个音节的相似度和置信度加权计算该音节的发音真实度,所述步骤(s)中根据每个单词或单字的相似度和置信度加权计算该单词或单字的发音真实度。
全文摘要
本发明公开了一种基于语音识别及语音分析的发音评估方法,包括以下步骤选取输入的原始语音信号,采集并转换为数字信号,然后进行分帧处理;提取语音帧的特征参数;利用语音识别引擎对该输入语音进行识别,得到每个单词(字)或/及音节的分段信息,并计算出每个单词或单字的置信度;根据每个单词(字)或/及音节的置信度,对该输入语音中每个单词(字)或/音节的发音真实度进行评估。进一步,可以同时计算出每一语音频的时长、能量和频率信息,并与标准发音库对应的信息相比较,计算出每个单词(字)或/和音节的相似度,和置信度一起加权得到发音真实度。本发明可以评估的单位精确到每个字,每个音节,大大提高发音评估的精确度和效果。
文档编号G10L15/02GK1750121SQ20041007444
公开日2006年3月22日 申请日期2004年9月16日 优先权日2004年9月16日
发明者刘建, 赵庆卫, 颜永红, 邵健 申请人:北京中科信利技术有限公司, 中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1