本发明涉及数据处理领域,特别是一种语音评测的方法及装置。
背景技术:
在改革开放的国情下,经济发展和文化交流两者之间是密不可分的,对个人的外语能力要求越来越高,如何快速高效地获取外语技能,是语言教育迫切需要解决的问题。
在计算机技术迅猛发展的今天,通过计算机测评学生的英语口语水平是必然的趋势,目前的语音测评技术无法对评测音源的语调、语气、重音、流畅性等关键元素进行综合性评测,且依赖于语料库的导入,无法适应不同年龄,性别以及口音的认亲进行合理评价,在综合评价能力方面十分欠缺,不能对学生的口语能力作出有效的评价;而且语料导入难,需要制作专属语料库用于评测需求,语料库制作难度高并且制作周期长,在没有标准格式时无法提供准确的英文口语评测,用户跨场景跨区域使用存在困难。
技术实现要素:
为了克服现有技术的不足,本发明的目的在于提供一种语音评测的方法及装置,不仅能够通过深度神经网的训练上先选定最合理的神经网络模型,利用tensorflow基础的深度训练,还能够在评测过程中以训练过程上充分训练完成的模型为基础,对于实时声音数据进行综合性评测,然后处理输出总评分和详细评分。
本发明解决其问题所采用的技术方案是:
第一方面,本发明提供了一种语音评测的方法,包括以下步骤:
对目标的声音数据抽出mfcc频率和cepstrum系数的特征量;
构建神经网络训练模型,对cepstrum系数的特征量进行训练;
以已经训练完成的神经网络模型为基础,从所述声音数据获取每个单词和音节的时间信息,并对单词和音节的时间信息进行语句评测。
进一步,所述语句评测包括语调评测、重音评测以及流畅性评测。
进一步,神经网络训练模型包括基础训练模型以及深度训练模型,所述基础训练模型为rnn神经网络,所述深度训练模型为tensorflow申请网络。
进一步,所述语调评测包括以下步骤:
获取声音数据中的句子所在的音素列表和每个音素的发音时间信息;
将窗宽度设置为第一阈值时间,窗间隔设置为第二阈值时间,对声音数据中的句子进行高速傅里叶变换,构成声音数据的spectrogram;
以每个音素的发音时间信息为基础获取对应的formant数据;
将句子的音素顺序设定为x坐标,以每个音素的formant数据设定为y坐标,获取声音数据中的句子的语调曲线;
从标准语句语调数据库获取对应句子的语句语调曲线,移动所述标准语句语调曲线,当所述标准语句语调曲线与目标评测的声音数据的语句语调曲线之间的距离变成最小,停止移动所述标准语句语调曲线;
计算每个音素的分值。
进一步,所述重音评测包括以下步骤:
获取声音数据中的句子所在的音素列表和每个音素的发音时间信息;
将窗宽度设置为第一阈值时间,窗间隔设置为第二阈值时间,对声音数据中的句子进行高速傅里叶变换;
获取每个音素的平均振幅、基准频率以及发音时间;
通过平均振幅、基准频率以及发音时间获取句子中的重音的概率;
得到每个音素的语句重音强度。
进一步,所述流畅性测评包括以下步骤:
训练时将声音数据保存到数据库;
按照数据库上的已完成训练的句子的训练数据中,计算得出平均值和分散值;
通过数据库上已经更新的平均发音时间和分散值对流畅性进行评测。
进一步,所述对目标的声音数据抽出mfcc频率和cepstrum系数的特征量之前还包括以下步骤:
读取目标的声音数据;
获取相关偏差;
获取相关平方偏差;
获取完成降噪处理的声音数据。
进一步,所述构建神经网络训练模型,对cepstrum系数的特征量进行训练还包括:
将训练数据上组处理方式的参数设置为64,神经网模型的训练反复默认次数设置为500;
初始状态的神经网络中epoch值设置为0;
偶然选择方法上处理训练数据的类组成;
判断对标训练模型是否存在已训练模型中;
若否,初期化训练模型;
若是,以已训练模型为基础,重新开始训练,训练完后保存模型,计算模型的训练偏差epocher;
判断epoch值是否大于num_epochs或者训练模型误差epocher值是否小于0.00001;
若否,则epoch值加1。
进一步,所述对目标的声音数据抽出mfcc频率和cepstrum系数的特征量还包括:
对声音数据的信号加窗信息变成到短时间信号,用离散傅氏变换将时间信号换成到频率信号,然后获取短时间能量光谱;
在频率轴线上按频率光谱变成到mel坐标上的mel频率;
在mel频率领域上对mel坐标通过三角形频带滤波器获取滤波器群,mel坐标上的能量光谱通过滤波器群计算输出信号;
滤波器群包括40个线性排列的滤波器,前13个滤波器对1000hz以下的线性分割进行处理,后27个滤波器对mel坐标上线性分割进行处理。
进一步,前处理单元,用于对目标的声音数据抽出mfcc频率和cepstrum系数的特征量;
训练单元,用于构建神经网络训练模型,对cepstrum系数的特征量进行训练;
评测单元,用于以已经训练完成的神经网络模型为基础,从所述声音数据获取每个单词和音节的时间信息,并对单词和音节的时间信息进行单词评测和/或语句评测。
第二方面,本发明提供了一种语音评测的装置,包括:
前处理单元,用于对目标的声音数据抽出mfcc频率和cepstrum系数的特征量;
训练单元,用于构建神经网络训练模型,对cepstrum系数的特征量进行训练;
评测单元,用于以已经训练完成的神经网络模型为基础,从所述声音数据获取每个单词和音节的时间信息,并对单词和音节的时间信息进行单词评测和/或语句评测。
第三方面,本发明提供了一种语音评测的设备,
包括至少一个控制处理器和用于与至少一个控制处理器通信连接的存储器;存储器存储有可被至少一个控制处理器执行的指令,指令被至少一个控制处理器执行,以使至少一个控制处理器能够执行如上所述的语音评测的方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上所述的语音评测的方法。
第五方面,本发明还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使计算机执行如上所述的语音评测的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下有益效果:通过深度神经网的训练上先选定最合理的神经网络模型,利用tensorflow基础进行深度训练;在评测过程中以训练过程上充分训练完成的模型为基础,对于实时声音数据发音准确率、语句语调、语句重音、流畅性等多方面评测,处理输出总评分和详细评分;在语句语调和语句重音评测过程上以声音识别引擎为基础获取音素别时间信息,用此时间信息处理评测,有效提高准确性。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明实施例提供的一种语音评测的方法的流程图;
图2是本发明实施例提供的语音评测的方法中语音评测的一种实施方式的语调评测流程图;
图3是本发明实施例提供的语音评测的方法中语音评测的一种实施方式的重音评测流程图;
图4是本发明实施例提供的语音评测的方法中语音评测的一种实施方式的流畅性评测流程图;
图5是本发明实施例提供的语音评测的方法中语音评测的一种实施方式的神经网络训练模型流程图;
图6是本发明实施例提供的一种语音评测的装置的结构示意图;
图7是本发明实施例提供的一种语音评测的设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
参照图1,本发明实施例的一种语音评测的方法,包括以下步骤:
s1:对目标的声音数据抽出mfcc频率和cepstrum系数的特征量;
s2:构建神经网络训练模型,对cepstrum系数的特征量进行训练;
s3:以已经训练完成的神经网络模型为基础,从所述声音数据获取每个单词和音节的时间信息,并对单词和音节的时间信息进行语句评测。
通过深度神经网的训练上先选定最合理的神经网络模型,利用tensorflow基础进行深度训练;在评测过程中以训练过程上充分训练完成的模型为基础,对于实时声音数据发音准确率、语句语调、语句重音、流畅性等多方面评测,处理输出总评分和详细评分;在语句语调和语句重音评测过程上以声音识别引擎为基础获取音素别时间信息,用此时间信息处理评测,有效提高准确性。
mfcc:mel是频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)的缩写。mel频率是基于人耳听觉特性提出来的,它与hz频率成非线性对应关系。mel频率倒谱系数(mfcc)则是利用它们之间的这种关系,计算得到的hz频谱特征。
本发明实施例的一种语音评测的方法,神经网络训练模型包括基础训练模型以及深度训练模型,所述基础训练模型为rnn神经网络,所述深度训练模型为tensorflow申请网络。
rnn:循环神经网络,recurrentneuralnetwork,该神经网络是一种节点定向连接成环的人工神经网络,这种网络的内部状态可以展示动态时序行为,不同于前馈神经网络的是,rnn可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。
tensorflow:是一个基于数据流编程(dataflowprogramming)的符号数学系统,被广泛应用于各类机器学习(machinelearning)算法的编程实现,其前身是谷歌的神经网络算法库distbelief。
本发明实施例的一种语音评测的方法,所述语句评测包括语调评测、重音评测以及流畅性评测。
参照图2,本发明实施例的一种语音评测的方法,声音的语调是由音波数的组及formant决定的。对于全体声音数据,一个窗宽度是为20ms,窗间隔是为10ms,处理傅里叶变换(fouriertransform)获取每个窗的声音信息(比例formant,声音振波等)。以音素时间为基础获取每个音素的声音信息平均formant和发音待续时间,然后以每个音素的formant数据为基础获取活者的语句语调和曲线。从数据库的标准语句语调曲线和活者的语句语调曲线获取欧几里得距离,直到此距离变成最小为止移动处理语句语调的曲线,当两个曲线之前距离越近,则分数越高,距离越远,则分数越小。
所述语调评测包括以下步骤:
s11:获取声音数据中的句子所在的音素列表和每个音素的发音时间信息;
s12:将窗宽度设置为第一阈值时间(20ms),窗间隔设置为第二阈值时间(10ms),对声音数据中的句子进行高速傅里叶变换,构成声音数据的spectrogram;
s13:以每个音素的发音时间信息为基础获取对应的formant数据;
s14:将句子的音素顺序设定为x坐标,以每个音素的formant数据设定为y坐标,获取声音数据中的句子的语调曲线;
s15:从标准语句语调数据库获取对应句子的语句语调曲线,移动所述标准语句语调曲线,当所述标准语句语调曲线与目标评测的声音数据的语句语调曲线之间的距离变成最小,停止移动所述标准语句语调曲线;
移动的距离计算公式如下:
s16:计算每个音素的分值。移动之后获取每个音素的评分,其中单词的评分是为所有音素评分的平均值,句子的评分是为所有单词评分的平均值。
v:移动之后音素的formant值;
f:标准发音的formant值;
d:标准发音的formant分散值。
参照图3,本发明实施例的一种语音评测的方法,声音的语句重音是由声音的振动强度、振幅、高度以及发音时间来决定的。优先确认关注的音素和其他音素之前振动强度、高度以及发音时间的差异,抽出有可能性的音素的语句重音概率,然后以用线性回归分析获取的振动强度,高度,发音时间的系数为基础,获取每个音节的语句重音。从数据库获取每个单词的标准语句重音信息,以此信息为基础评测或者的语句重音分数。
所述重音评测包括以下步骤:
s21:获取声音数据中的句子所在的音素列表和每个音素的发音时间信息;
s22:将窗宽度设置为第一阈值时间,窗间隔设置为第二阈值时间,对声音数据中的句子进行高速傅里叶变换;
s23:获取每个音素的平均振幅、基准频率以及发音时间;
s24:通过平均振幅、基准频率以及发音时间获取句子中的重音的概率;
pamp:音素的振动强度;
pfreq:音素的振动数;
ptime:对于音素的振动时间,此音素的语句重音概率;
an:第n音素的平均振幅值;
fn:第n音素的基准频率;
tn:第n音素的发音时间;
fm:第n音素前面的n个音素的平均值(n:用户定义的);
bm:第n音素后面的m个音素的平均值(m:用户定义的);
fs:音素比fm几倍的时候决定是否看语句重音的阈值(thresholdvalue);
bs:音素比bm几倍的时候决定是否看语句重音的阈值(thresholdvalue)。
s25:得到每个音素的语句重音强度。
astrength=a1*pamp+a2*pfreq+a3*ptime
astrength:语句重音强度
a1,a2,a3:对于振动强度,高度,发音时间的系数
s26:计算每个音素的分值,其中单词的评分是为所有音素评分的平均值,句子的评分是为所有单词评分的平均值。
v:音素的语句重音强度;
a:标准发音的语句重音强度;
d:标准发音的语句重音强度分散值。
参照图4,本发明实施例的一种语音评测的方法,所述流畅性测评包括以下步骤:
s31:训练时将声音数据保存到数据库;
s32:按照数据库上的已完成训练的句子的训练数据中,计算得出平均值和分散值;
分散值计算公式如下:
n:训练次数
tn-1:在数据库上已经保存的平均发音时间
dn-1:在数据库上已经保存的分散
tn:目前发音时间
s33:通过数据库上已经更新的平均发音时间和分散值对流畅性进行评测。流畅性评测公式如下:
本发明实施例的一种语音评测的方法,所述对目标的声音数据抽出mfcc频率和cepstrum系数的特征量之前还包括以下步骤:
读取目标的声音数据;
获取相关偏差;
sn=cn+rn
(cn:相关数据,rn:相关偏差)
获取相关平方偏差;
sn=c′n+r′n
(r′n:cn+rn的相关平方值,c′n:相关平方偏差)
获取声源降噪处理过的声音数据,及原声音数据上减去相关平方偏差;
获取完成降噪处理的声音数据。
参照图5,本发明实施例的一种语音评测的方法,所述构建神经网络训练模型,对cepstrum系数的特征量进行训练还包括:
s41:将训练数据上组处理方式的参数设置为64,神经网模型的训练反复默认次数设置为500;
s42:初始状态的神经网络中epoch值设置为0;
s43:偶然选择方法上处理训练数据的类组成;
s44:判断对标训练模型是否存在已训练模型中;
s45:若否,初期化训练模型;
s46:若是,以已训练模型为基础,重新开始训练,训练完后保存模型,计算模型的训练偏差epocher;
s47:判断epoch值是否大于num_epochs或者训练模型误差epocher值是否小于0.00001;
s48:若否,则epoch值加1。
本发明实施例的一种语音评测的方法,所述对目标的声音数据抽出mfcc频率和cepstrum系数的特征量还包括:
在对目标的声音数据处理过程中,从声音数据(mp3文件)获取mfcc(即mel频率)和cepstrum系数;
mel频率和cepstrum系数是考虑人间的听觉特点的系数,处理把mel频率光谱变成到非线性频率光谱,然后再变成到cepstrum领域;
因为充分考虑了人间的听觉,没有前提条件,所以mfcc变数具有可好的识别性能和防止杂音能力。其中mfcc计算过程如下。
将mfcc特征矢量的设置为13,抽出特征的窗宽度设置为20ms,窗间隔设置为10ms。
流程如下:
获取每个声音标本数据的标本华频率和按时间的振幅值;
设定特征矢量大小,声音的窗宽度,窗间隔;
以上述两步骤的参数为基础计算mfcc特征值保存到特征量文件。
具体的mfcc特征量计算的算法如下:
对声音数据的信号加窗信息变成到短时间信号,用离散傅氏变换将时间信号x(n)换成到频率信号x(m),然后获取短时间能量光谱p(f);
在频率轴线上按频率光谱p(f)变成到mel坐标上的p(m),其中m为mel频率;
fmel=3322.231lg(1+0.001)fhz
在mel频率领域上对mel坐标通过三角形频带滤波器获取滤波器群,mel坐标上的能量光谱通过滤波器群计算输出信号;
k:第k的滤波器;
k:滤波器总数。
滤波器群包括40个线性排列的滤波器(即k=40),前13个滤波器对1000hz以下的线性分割进行处理,后27个滤波器对mel坐标上线性分割进行处理。
θ(mk)表示第k滤波器的输出能量,在尺度光谱上可以获取非连续余弦变换(discretecosinetransform)的mel频率cepstrumcmel(n)。
p:mfcc的维度。
参照图6,本发明实施例还提供了一种语音评测的装置,在该语音评测的装置1000中,包括但不限于:前处理单元1100、训练单元1200和评测单元1300。
其中,前处理单元1100,用于对目标的声音数据抽出mfcc频率和cepstrum系数的特征量;
训练单元1200,用于构建神经网络训练模型,对cepstrum系数的特征量进行训练;
评测单元1300,用于以已经训练完成的神经网络模型为基础,从所述声音数据获取每个单词和音节的时间信息,并对单词和音节的时间信息进行单词评测和/或语句评测。
需要说明的是,由于本实施例中的语音评测的装置与上述的语音评测的方法基于相同的发明构思,因此,方法实施例中的相应内容同样适用于本装置实施例,此处不再详述。
参照图7,本发明实施例还提供了一种语音评测的设备,该语音评测的设备200可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。
具体地,该语音评测的设备200包括:一个或多个控制处理器201和存储器202,图7中以一个控制处理器201为例。
控制处理器201和存储器202可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器202作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的语音评测的方法对应的程序指令/模块,例如,图6中所示的前处理单元1100、训练单元1200和评测单元1300。控制处理器201通过运行存储在存储器202中的非暂态软件程序、指令以及模块,从而执行语音评测的装置1000的各种功能应用以及数据处理,即实现上述方法实施例的语音评测的方法。
存储器202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据语音评测的装置1000的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器202可选包括相对于控制处理器201远程设置的存储器,这些远程存储器可以通过网络连接至该语音评测的设备200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器202中,当被所述一个或者多个控制处理器201执行时,执行上述方法实施例中的语音评测的方法,例如,执行以上描述的图1中的方法步骤s1至s3,图3中的方法步骤s21至s26,实现图6中的单元1100-1300的功能。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图7中的一个控制处理器201执行,可使得上述一个或多个控制处理器201执行上述方法实施例中的语音评测的方法,例如,执行以上描述的图1中的方法步骤s1至s3,图3中的方法步骤s21至s26,实现图6中的单元1100-1300的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(readonlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。