一种口语发音评测方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 10:24:22
技术领域
本申请涉及语音识别技术领域,更具体的说,是涉及一种口语发音评测方法、装置、电子设备及存储介质。
背景技术
随着当前的经济发展和文化交流,对个人的外语能力要求越来越高。在外语学习过程中,如何提高外语的口语能力,是目前迫切需要解决的问题。伴随着人工智能的发展,语音识别技术被应用至口语发音练习中,目前存在很多对口语发音进行评测的口语发音评测软件,用户可以利用这些口语发音评测软件通过跟读口语跟读教材进行口语发音的练习。
然而目前存在一些用户在口语发音评测软件中进行乱读的现象,这些乱读的现象严重影响了口语发音评测结果的准确性,而目前的口语发音评测方法无法准确检测出这些乱读现象,基于此,如何有效检测出乱读现象,提高口语发音评测结果的准确性,是目前需要解决的技术问题。
发明内容
有鉴于此,本申请提供了一种口语发音评测方法、装置、电子设备及存储介质,能够有效检测出乱读现象,提高口语发音评测结果的准确性。
本申请提供如下技术方案:
一种口语发音评测方法,所述方法包括:
获取待评测语音片段;
对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;
对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;
至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;
按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;
依据所述能量占比,得到口语发音评测结果。
优选的,所述至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签包括:
确定所述待评测语音片段的发音总时长;
依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间,所述发音时间区间是在所述发音总时长中所占的时间区间;
依据每个所述音素各自对应的发音状态所属的发音时间区间,以及每帧音频帧各自所属的时间范围,确定每帧音频帧各自对应的音素发音状态基础标签。
优选的,所述依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间包括:
依据所述待评测语音片段的发音总时长,以及所述音素序列中包括的音素的个数,对所述发音总时长进行时间平均分割,得到每个音素各自所属的发音时间区间;
确定每个所述音素各自对应的发音状态,所述发音状态包括:发音起始状态、发音持续状态以及发音终止状态;
对每个音素各自所属的发音时间区间进行时间平均分割,得到每个所述音素对应的发音状态各自所属的发音时间区间。
优选的,所述依据每个所述音素对应的发音状态所属的发音时间区间,以及每帧音频帧所属的时间范围,确定每帧音频帧对应的音素发音状态基础标签包括:
按照时间顺序,依次确定每帧音频帧所落入的发音状态所属的发音时间区间;
依据所述每帧音频帧所落入的发音状态所属的发音时间区间,确定所述每帧音频帧对应的音素发音状态基础标签。
优选的,所述按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签包括:
依据所述音频帧序列中每一帧音频帧各自与其相邻的下一帧音频帧之间的音素发音状态跳转关系,确定所述音频帧序列中从第一帧音频帧对应的音素发音状态,依次跳转到最后一帧音频帧对应的音素发音状态过程中所有可能的跳转路径;
确定所述所有可能的跳转路径各自对应的跳转概率;
将跳转概率符合预设阈值的跳转路径作为最终跳转路径;
依据所述最终跳转路径,对每帧音频帧各自对应的音素发音状态基础标签进行调整,并返回到所述依据所述音频帧序列中每一帧音频帧各自与其相邻的下一帧音频帧之间的音素发音状态跳转关系,确定所述音频帧序列中从第一帧音频帧对应的音素发音状态,依次跳转到最后一帧音频帧对应的音素发音状态过程中所有可能的跳转路径的步骤,继续执行;直到满足预设终止条件的情况下结束执行,得到每帧音频帧各自对应的音素发音状态最终标签。
优选的,所述按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比包括:
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音时长与待评测语音片段的发音总时长的比值;或者;
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音音量与待评测语音片段的发音总音量的比值。
优选的,所述对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列包括:
对所述待评测语音片段进行梅尔频率倒谱系数MFCCs音频特征提取,得到所述待评测语音片段对应的音频帧序列。
一种口语发音评测装置,所述装置包括:
语音片段获取单元,用于获取待评测语音片段;
音频特征提取单元,用于对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;
音素特征提取单元,用于对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;
基础标签确定单元,用于至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;
最终标签确定单元,用于按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;
能量占比确定单元,用于按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;
评测结果确定单元,用于依据所述能量占比,得到口语发音评测结果。
一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:
执行如上所述的口语发音评测方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行程序,所述计算机可执行程序被处理器加载并执行时,实现如上所述的口语发音评测方法。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种口语发音评测方法、装置、电子设备及存储介质,获取待评测语音片段;对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;依据所述能量占比,得到口语发音评测结果。通过上述方式,本发明能够得到待评测语音片段中目标词在所述待评测语音片段中的能量占比,目标词在待评测语音片段中的能量占比能够反映是否有乱读现象,从而根据能量占比,检测出乱读现象,从而依据能量占比得到的口语发音评测结果能够反映乱读现象对口语发音评测结果的影响,提高口语发音评测结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1 为本申请实施例提供的一种口语发音评测方法的流程图;
图2 为本申请实施例提供的另一种口语发音评测方法的流程图;
图3 为本申请实施例提供的一种按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签方法的流程图;
图4为本申请实施例提供的一种音频帧与音素发音状态对应关系示意图;
图5为本申请实施例提供的一种对中文“你好”进行强制对齐的结果示意图;
图6为本申请实施例提供的一种口语发音评测装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着当前的经济发展和文化交流,对个人的外语能力要求越来越高。在外语学习过程中,如何提高外语的口语能力,是目前迫切需要解决的问题。伴随着人工智能的发展,语音识别技术被应用至口语发音练习中,目前存在很多对口语发音进行评测的口语发音评测软件,用户可以利用这些口语发音评测软件通过跟读口语跟读教材进行口语发音的练习。
然而目前在一些口语发音评测软件(如在线少儿英语教育软件、少儿口语评测软件等)中会对高分作品进行展览,一些用户从高分作品中获悉命中词之后,在口语发音评测过程中,并不是按照口语跟读教材进行跟读,而是乱读,例如仅读命中词,重复多次读取命中词;或者仅读命中词以及一些与口语跟读教材内容无关的词汇,例如一些敏感词,由于这些现象中用户并不是按照口语跟读教材内容进行读取的,但是目前的口语发音评测软件在口语发音评测过程中仅对命中词进行评测,无法准确检测出这些乱读现象,而这些乱读的现象严重影响了口语发音评测结果的准确性,基于此,如何有效检测出乱读现象,提高口语发音评测结果的准确性,是目前需要解决的技术问题。
本发明为了进一步解决上述技术问题,提出了一种口语发音评测方法、装置、电子设备及存储介质,获取待评测语音片段;对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;依据所述能量占比,得到口语发音评测结果。通过上述方式,本发明能够得到待评测语音片段中目标词在所述待评测语音片段中的能量占比,目标词在待评测语音片段中的能量占比能够反映是否有乱读现象,从而根据能量占比,检测出乱读现象,从而依据能量占比得到的口语发音评测结果能够反映乱读现象对口语发音评测结果的影响,提高口语发音评测结果的准确性。
下面对本发明提供的口语发音评测方法进行介绍,本发明提供的口语发音评测方法应用于电子设备,图1为本发明提供的口语发音评测方法的流程图,参照图1,所述方法可以包括:
步骤S100、获取待评测语音片段;
本发明主要是基于安装在电子设备中的口语发音评测软件来获取待评测语音片段。所述待评测语音片段为用户利用电子设备中的音频输入接口输入的语音片段。
步骤S110、对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;
具体的,本发明实施例可以先对音频进行分帧,然后进行音频特征提取,例如可以每25ms提取一帧,帧移设置为10ms,提取的音频特征为40维MFCC s (Mel-FrequencyCepstral Coefficients,梅尔频率倒谱系数)。
MFCCs是在Mel(Maya埋入式语言)标度频率域提取出来的倒谱参数,Mel标度描述了人耳频率的非线性特性,Mel标度与频率的关系可用下式近似表示:
其中,Mel(f)为Mel标度,f为频率,单位为Hz。
所述对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列包括:对所述待评测语音片段进行梅尔频率倒谱系数MFCC s音频特征提取,得到所述待评测语音片段对应的音频帧序列。
步骤S120、对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;
可选的,本发明中对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列的过程包括:将所述待评测语音片段转换为文本,然后按照字典将文本转换为音素,得到待评测语音片段对应的音素序列。
步骤S130、至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;
需要说明的是,音素发音状态基础标签用于标识音频帧所对应的音素的发音状态,每个音素都对应三种发音状态,如发音起始状态、发音持续状态以及发音终止状态,三种发音状态主要是按照时间来划分,发音起始状态对应的是某个音素发音过程中的起始时间段;发音持续状态对应的是某个音素发音过程中的持续时间段,即发音过程中的中间时间段;发音终止状态对应的是某个音素发音过程中的终止时间段。
本发明主要按照音频帧序列中包括的至少一帧音频帧的排列顺序,依次确定每一帧音频帧各自对应的音素发音状态基础标签。
可选的,本发明主要采用强制对齐方式得到每帧音频帧各自对应的音素发音状态基础标签,强制对齐方式就是至少基于所述待评测语音片段的音频特征以及所述至少一个音素的音素特征,利用时延神经网络模型得到每帧音频帧各自对应的音素发音状态基础标签。强制对齐分两步,第一步根据发音文本构建有限状态自动机,第二步,时延神经网络,利用维特比(Viterbi)解码得到每帧的音素发音状态基础标签。Viterbi算法本质上是一种动态规划算法,能够得到全局最优解。
具体的强制对齐方式将在以下实施例中进行介绍,在此不做详细说明。
可选的,本发明还可以按照每一帧音频帧各自对应的音素发音状态基础标签,给每帧音频帧按时间标记打上人声或者非人声的标记,后还可以依据人声或者非人声的标记来计算目标词在所述待评测语音片段中的能量占比。
步骤S140、按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;
可选的,本发明按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,是为了使得每帧音频帧各自对应的标签更准确,并且,本发明主要是按照循环调整的方式,对每帧音频帧各自对应的音素发音状态基础标签进行调整,并在满足预设标签结束调整条件的情况下,得到每帧音频帧各自对应的音素发音状态最终标签。
步骤S150、按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;
可选的,目标词在所述待评测语音片段中的能量占比主要指的是目标词对应的目标音素发音时长与待评测语音片段的发音总时长的比值;或者目标词对应的目标音素发音音量与待评测语音片段的发音总音量的比值,本发明实施例不做具体限定。
所述按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比包括:
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音时长与待评测语音片段的发音总时长的比值;或者;按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音音量与待评测语音片段的发音总音量的比值。
本发明实施例还可以采用目标音素发音时长与静音(用户乱读的语音内容)时长的比值来代替待评测语音片段中目标词在所述待评测语音片段中的能量占比;或者采用目标音素发音音量与静音(用户乱读的语音内容)音量的比值来代替待评测语音片段中目标词在所述待评测语音片段中的能量占比。
步骤S160、依据所述能量占比,得到口语发音评测结果。
本发明实施例在原始的发音评测方法的基础上,考虑能量占比的影响,当所述能量占比满足预设能量占比阈值的情况下,会在原始发音评测结果的基础上采取相应的扣分方式,得到口语发音最终评测结果。
比如在某一目标词在所述待评测语音片段中的能量占比小于预设设能量占比阈值的情况下,说明目标词在用户读取的整个语音片段中所占的比重比比较小,也就是说,用户乱读的语音内容(记为静音内容)在整个语音片段中所占的比重比较大,那么这个时候就会在原始发音评测结果的基础上采取相应的扣分方式,来反映乱读现象对口语发音评测结果的影响,提高口语发音评测结果的准确性。
本发明通过获取待评测语音片段;对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;依据所述能量占比,得到口语发音评测结果。通过上述方式,本发明能够得到待评测语音片段中目标词在所述待评测语音片段中的能量占比,目标词在待评测语音片段中的能量占比能够反映是否有乱读现象,从而根据能量占比,检测出乱读现象,从而依据能量占比得到的口语发音评测结果能够反映乱读现象对口语发音评测结果的影响,提高口语发音评测结果的准确性。
下面对本发明提供的口语发音评测方法进行具体介绍,本发明提供的口语发音评测方法应用于电子设备,图2为本发明提供的口语发音评测方法的另一种流程图,参照图2,所述方法可以包括:
步骤S200、获取待评测语音片段;
步骤S210、对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;
步骤S220、对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;
本发明实施例中的步骤S200-步骤S220与上述实施例中的步骤S100-步骤S120相同,在此不做详细论述。
步骤S230、确定所述待评测语音片段的发音总时长;
在获取待评测语音片段之后,可以统计待评测语音片段的发音总时长。
步骤S240、依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间;
所述依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间包括:
依据所述待评测语音片段的发音总时长,以及所述音素序列中包括的音素的个数,对所述发音总时长进行时间平均分割,得到每个音素各自所属的发音时间区间;确定每个所述音素各自对应的发音状态,所述发音状态包括:发音起始状态、发音持续状态以及发音终止状态;对每个音素各自所属的发音时间区间进行时间平均分割,得到每个所述音素对应的发音状态各自所属的发音时间区间。
具体来说,由于本发明实施例预先对所述待评测语音片段进行了音素特征提取,得到所述待评测语音片段对应的音素序列,则按照音素序列中音素的排列顺序,依据时间平均分割的原则,依次确定每个所述音素对应的发音状态各自所属的发音时间区间;所述发音时间区间是在所述发音总时长中所占的时间区间,也就是说,每个音素对应的发音状态各自所属的发音时间区间的时长是相同的。
比如:How are you这个待评测语音片段对应的音素序列为:HH、AW、AA、R、Y、UW;音素序列中总共有六个音素,假设待评测语音片段对应的发音总时长为180ms,按照时间平均分割规则,每个音素对应的发音时长为30ms,由于每个音素又各自对应三个发音状态(发音起始状态、发音持续状态以及发音终止状态),则每个所述音素对应的发音状态各自对应的发音时长为10ms,假设How are you这个待评测语音片段的发音起始时间为0时刻的话,HH的发音起始状态的发音时间区间为:0-10ms的范围内;HH的发音持续状态的发音时间区间为:10-20ms的范围内;HH的发音终止状态的发音时间区间为:20-30ms的范围内;AW的发音起始状态的发音时间区间为:30-40ms的范围内;AW的发音持续状态的发音时间区间为:40-50ms的范围内;AW的发音终止状态的发音时间区间为:50-60ms的范围内;AA的发音起始状态的发音时间区间为:60-70ms的范围内;AA的发音持续状态的发音时间区间为:70-80ms的范围内;AA的发音终止状态的发音时间区间为:80-90ms的范围内;R的发音起始状态的发音时间区间为:90-100ms的范围内;R的发音持续状态的发音时间区间为:100-110ms的范围内;R的发音终止状态的发音时间区间为:110-120ms的范围内;Y的发音起始状态的发音时间区间为:120-130ms的范围内;Y的发音持续状态的发音时间区间为:130-140ms的范围内;Y的发音终止状态的发音时间区间为:140-150ms的范围内;UW的发音起始状态的发音时间区间为:150-160ms的范围内;UW的发音持续状态的发音时间区间为:160-170ms的范围内;UW的发音终止状态的发音时间区间为:170-180ms的范围内。
步骤S250、依据每个所述音素各自对应的发音状态所属的发音时间区间,以及每帧音频帧各自所属的时间范围,确定每帧音频帧各自对应的音素发音状态基础标签;
所述依据每个所述音素对应的发音状态所属的发音时间区间,以及每帧音频帧所属的时间范围,确定每帧音频帧对应的音素发音状态基础标签包括:
按照时间顺序,依次确定每帧音频帧所落入的发音状态所属的发音时间区间;依据所述每帧音频帧所落入的发音状态所属的发音时间区间,确定所述每帧音频帧对应的音素发音状态基础标签。
需要说明的是,由于音频帧序列中每帧音频帧都是按照发音时间顺序排列的,确定每帧音频帧各自对应的时间点所落在的发音时间区间,作为每帧音频帧各自对应的发音时间区间;依据每帧音频帧各自对应的发音时间区间确定每帧音频帧各自对应的音素发音状态;并将每帧音频帧各自对应的音素发音状态作为每帧音频帧各自对应的音素发音状态基础标签。
例如:第一帧音频帧对应的音素发音状态基础标签为HH的发音起始状态标签;第二帧音频帧以及第三帧音频帧各自对应的音素发音状态基础标签为都HH的发音持续状态标签;第四帧音频帧对应的音素发音状态基础标签为HH的发音终止状态标签等。
步骤S260、按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;
步骤S270、按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;
所述目标词可以为一个、也可以为多个,本发明实施例不做具体限定,目标词在所述待评测语音片段中的能量占比可以用单词在所述待评测语音片段中的能量占比来衡量,还可以用音素在所述待评测语音片段中的能量占比来衡量,本发明实施例不做具体限定。
步骤S280、依据所述能量占比,得到口语发音评测结果。
本发明实施列可以根据强制对齐得到的结果,每个音素起始帧数和结束帧数,这样就可以知道每个音素的发音时长占比,根据音素的起始和终止可以计算开始到终止的所有音频的音量、并将所有音频的音量按帧数平均,就可以得到每个音素的音量,计算静音时长占整个音素的占比,和静音音量占整个音素的占比,静音时长越长越可能乱读,静音音量越大越可能乱读,并将静音时长与静音音量分别与各自对应阈值进行比较,给出是否乱读的结果。将静音时长和音量当作评价标准,能够很好的刻画乱读情况。
本发明实施例通过确定所述待评测语音片段的发音总时长;依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间;依据每个所述音素各自对应的发音状态所属的发音时间区间,以及每帧音频帧各自所属的时间范围,确定每帧音频帧各自对应的音素发音状态基础标签;然后按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;依据所述能量占比,得到口语发音评测结果。通过上述方式,本发明能够得到待评测语音片段中目标词在所述待评测语音片段中的能量占比,目标词在待评测语音片段中的能量占比能够反映是否有乱读现象,从而根据能量占比,检测出乱读现象,从而依据能量占比得到的口语发音评测结果能够反映乱读现象对口语发音评测结果的影响,提高口语发音评测结果的准确性。
本发明实施例在检测到目标词在所述待评测语音片段中的能量占比较小的情况下,则说明待评测语音片段中存在较多的与读口语跟读教材无关的语音输入,本发明还可以进一步对这些与读口语跟读教材无关的语音输入进行敏感词检测,将检测到的敏感词进行剔除,也就是进行敏感音频过滤,从而使得展示的高分作品内容积极健康。
需要说明的是,本发明实施例上述处理过程仅仅依赖的是待评测语音片段的音频特征以及音素特征,这两个特征是简单易获取的,并且整个自动计算过程无需人工参与、耗时短、计算量小,不会增加口语发音评测的时长,将乱读检测和口语评测过程结合,效果直接体现在最后的口语发音评测结果中。
本发明为了使得每帧音频帧各自对应的标签更准确,按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,而调整的过程就是维特比解码的过程,Viterbi算法,本质上是一种动态规划算法,能够得到全局最优解,维特比算法对时间的对齐,比传统DTW(Dynamic Time Warping,动态时间归整)方式更加有效可靠,对每个单词持续时间准确刻画。为了进一步减少计算复杂度,本发明实施例引用了BeamSearch 算法,可以在损失微小性能的条件下提高解码速度。
下面给出一种按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签的具体过程,下面对本发明提供的按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签方法进行具体介绍,图3为本发明提供的按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签方法的一种流程图,参照图3,所述方法可以包括:
步骤S300、依据所述音频帧序列中每一帧音频帧各自与其相邻的下一帧音频帧之间的音素发音状态跳转关系,确定所述音频帧序列中从第一帧音频帧对应的音素发音状态,依次跳转到最后一帧音频帧对应的音素发音状态过程中所有可能的跳转路径;
步骤S310、确定所述所有可能的跳转路径各自对应的跳转概率;
由于下一帧音频帧的音素发音状态有可能与其相邻的前一帧音频帧的音素发音状态相同,也可能不同,不同音素发音状态跳转都对应不同的跳转概率,本发明将一种跳转路径中从每一帧音频帧对应的音素发音状态跳转到与其相邻的下一帧音频帧对应的音素发音状态的跳转概率相乘,得到该跳转路径对应的跳转概率。
步骤S320、将跳转概率符合预设阈值的跳转路径作为最终跳转路径;
本发明实施例可以将跳转概率大于等于预设跳转概率阈值的跳转路径作为最终跳转路径。
步骤S330、依据所述最终跳转路径,对每帧音频帧各自对应的音素发音状态基础标签进行调整,并返回到所述步骤S300,继续执行;直到满足预设终止条件的情况下结束执行,得到每帧音频帧各自对应的音素发音状态最终标签。
本发明实施例中依据最终跳转路径中每一帧音频帧对应的最终音素发音状态,对每帧音频帧各自对应的音素发音状态基础标签进行循环调整,得到每帧音频帧各自对应的音素发音状态最终标签。
预设终止条件例如可以为音频帧序列对应的音素发音状态变化率小于预设变化率阈值。音频帧序列对应的音素发音状态变化率可以指的是前后两次调整相比,对应的音素发音状态变化率小。音素发音状态变化率为后一次调整后与前一次调整后相比,音素发音状态改变的帧数与总帧数的比值。
下面,参照本发明附图4公开的音频帧与音素发音状态对应关系示意图,图4中横坐标代表每帧音频帧各自对应的时刻,纵坐标代表每种音素发音状态;如果从起点到终点有一条最终路径,那么这条路径子路径也是从起点到相应时刻点的最优路径,作为最终跳转路径。任一时刻,只需记录到该时刻所有音素发音状态的最优路径即可,以时刻4为例,在时刻4,只需记录时刻4上经过三个音素发音状态S1、S2、S3的最优路径即可,也就是只需要记录三条路径,接着到时刻5,时刻5的S3状态有两条路径经过,取其中最优路径,时刻5的S2、S1状态类似,也就是说到了时刻5,仍然只需要记录三条路径即可。
所以每一时刻需要做两次循环,外层循环现在时刻所有状态,内层循环现在时刻某一状态到下一时刻所有状态。时间复杂度,所有时间段时间复杂度。实际大规模语音识别中任一时刻的状态可能很大,比如5000个,这样即使使用了维特比,时间复杂度还是太大,实际中为了解决这个问题,引入了Beam Search算法,减少时间复杂度,减少计算量。
Beam Search算法中涉及到当前时刻音素发音状态数目以及下一时刻音素发音状态数目,如果想要提高解码速度,需要对这两个数值都做缩减。
实际做法是设置阈值,减少语音对齐中当前时刻以及下一时刻音素发音状态数目,具体做法是:
1、对所有音素发音状态进行排序,最终跳转路径(最优路径)上的音素发音状态为最优状态,最优状态排在最前面,最优状态得分为best_weight; best_weight为跳转概率的-log值。
2、设置第一集束beam,设置第一阈值cur_cutoff=1,cur_cutoff=best_weight+beam,将所有得分在cur_cutoff以内的,保留;反之丢弃,从而减少当前时刻的音素发音状态的数目;
3、计算到下一时刻的最优路径得分new_weight;
4、设置第二集束adaptive_beam, 设置第二阈值next_cutoff=2,next_cutoff=new_weight+adaptive_beam,将所有得分在next_cutoff以内的,保留;反之丢弃,从而减少下一时刻的音素发音状态的数目。
通过上述方式减少语音对齐中当前时刻以及下一时刻音素发音状态数目,图5给出了中文“你好”通过上述方式进行强制对齐的结果示意图。
可选的,本发明上述实施例公开的得到每帧音频帧各自对应的音素发音状态最终标签的过程可以应用于预先训练的音素发音状态测模型,音素发音状态测模型是由几百小时的发音较标准的语音和对应的文本,训练而成的,下面给出所述口语发音评测模型的训练过程:
1、获取语音片段样本,以及与所述语音片段样本对应的参考输出音素发音状态最终标签;
2、对所述语音片段样本进行音频特征提取,得到所述语音片段样本对应的音频帧序列样本,所述音频帧序列样本中包括按照发音时间顺序排列的至少一帧音频帧样本;
3、对所述语音片段样本进行音素特征提取,得到所述语音片段样本对应的音素序列样本,所述音素序列样本中包括按照发音时间顺序排列的至少一个音素样本;
4、至少基于所述语音片段样本以及所述至少一个音素样本的相关特征,确定每帧音频帧样本各自对应的音素发音状态基础标签样本;
5、按照预先设置的标签调整方法,对每帧音频帧样本各自对应的音素发音状态基础标签样本进行调整,得到每帧音频帧样本各自对应的预测音素发音状态最终标签;
6、利用所述参考输出音素发音状态最终标签以及所述预测音素发音状态最终标签得到音素发音状态测模型的损失函数;
7、利用所述音素发音状态测模型的损失函数对所述音素发音状态测模型的模型参数进行调整;
8、返回执行步骤2继续训练,直至得到音素发音状态测模型的损失函数呈现收敛状况时的音素发音状态测模型的模型参数作为音素发音状态测模型参数,并停止训练。
可选的,本发明主要是利用时延神经网络训练得到初始模型,神经网络训练是利用交叉熵不断更新自己的权值,逼近正确结果,是一个计算特征到状态的后验概率的模型。用初始模型维特比强制对应,对音频进行新的对齐,每个音频的预测音素发音状态最终标签得到后,进行新的训练,得到新的模型,当迭代到一定轮数时,停止训练,得到最终的音素发音状态测模型。
本发明实施例利用已有大数据量的训练数据,100h以上的优质发音音频,结合最先进的数据建模工具,深度神经网络,极好的对特征到音素的概率进行建模,比起以往的高斯混合模型gmm建模方式,更加准确有效,深度神经网络结合时间信息,利用帧之间的关系,提高了建模的精准度。
通过基于本发明公开的静音时长和能量的英语测评中乱读检测的方法,可以对学生评测时乱读发音进行很好的刻画,在没有教师的干预下,不需要任何教研的辅助下,对语音测评进行了纠正,也可以利用乱读检测屏蔽不法分子对我们系统的攻击,当他们读一段英文再讲敏感词以后就会被判断成乱读,进而不会传播。
无论是在对孩子英语发音进行强化和屏蔽攻击性语音,基于静音时长和能量的英语测评中乱读检测都有其特有的价值。
下面对本发明实施例提供的口语发音评测装置进行介绍,下文描述的口语发音评测装置可与上文口语发音评测方法相互对应参照。
图6为本发明实施例提供的口语发音评测装置的结构框图,参照图6,该口语发音评测装置可以包括:
语音片段获取单元600,用于获取待评测语音片段;
音频特征提取单元610,用于对所述待评测语音片段进行音频特征提取,得到所述待评测语音片段对应的音频帧序列,所述音频帧序列中包括按照发音时间顺序排列的至少一帧音频帧;
音素特征提取单元620,用于对所述待评测语音片段进行音素特征提取,得到所述待评测语音片段对应的音素序列,所述音素序列中包括按照发音时间顺序排列的至少一个音素;
基础标签确定单元630,用于至少基于所述待评测语音片段以及所述至少一个音素的相关特征,确定每帧音频帧各自对应的音素发音状态基础标签;
最终标签确定单元640,用于按照预先设置的标签调整方法,对每帧音频帧各自对应的音素发音状态基础标签进行调整,得到每帧音频帧各自对应的音素发音状态最终标签;
能量占比确定单元650,用于按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词在所述待评测语音片段中的能量占比;
评测结果确定单元660,用于依据所述能量占比,得到口语发音评测结果。
可选的,所述基础标签确定单元包括:
发音总时长确定单元,用于确定所述待评测语音片段的发音总时长;
第一发音时间区间确定单元,用于依据所述待评测语音片段的发音总时长,以及预先设置的时间平均分割规则,确定每个所述音素对应的发音状态各自所属的发音时间区间,所述发音时间区间是在所述发音总时长中所占的时间区间;
基础标签确定子单元,用于依据每个所述音素各自对应的发音状态所属的发音时间区间,以及每帧音频帧各自所属的时间范围,确定每帧音频帧各自对应的音素发音状态基础标签。
可选的,所述第一发音时间区间确定单元包括:
第二发音时间区间确定单元,用于依据所述待评测语音片段的发音总时长,以及所述音素序列中包括的音素的个数,对所述发音总时长进行时间平均分割,得到每个音素各自所属的发音时间区间;
发音状态确定单元,用于确定每个所述音素各自对应的发音状态,所述发音状态包括:发音起始状态、发音持续状态以及发音终止状态;
第三发音时间区间确定单元,用于对每个音素各自所属的发音时间区间进行时间平均分割,得到每个所述音素对应的发音状态各自所属的发音时间区间。
可选的,所述基础标签确定子单元具体用于:
按照时间顺序,依次确定每帧音频帧所落入的发音状态所属的发音时间区间;
依据所述每帧音频帧所落入的发音状态所属的发音时间区间,确定所述每帧音频帧对应的音素发音状态基础标签。
可选的,所述最终标签确定单元具体用于:
依据所述音频帧序列中每一帧音频帧各自与其相邻的下一帧音频帧之间的音素发音状态跳转关系,确定所述音频帧序列中从第一帧音频帧对应的音素发音状态,依次跳转到最后一帧音频帧对应的音素发音状态过程中所有可能的跳转路径;
确定所述所有可能的跳转路径各自对应的跳转概率;
将跳转概率符合预设阈值的跳转路径作为最终跳转路径;
依据所述最终跳转路径,对每帧音频帧各自对应的音素发音状态基础标签进行调整,并返回到所述依据所述音频帧序列中每一帧音频帧各自与其相邻的下一帧音频帧之间的音素发音状态跳转关系,确定所述音频帧序列中从第一帧音频帧对应的音素发音状态,依次跳转到最后一帧音频帧对应的音素发音状态过程中所有可能的跳转路径的步骤,继续执行;直到满足预设终止条件的情况下结束执行,得到每帧音频帧各自对应的音素发音状态最终标签。
可选的,所述能量占比确定单元具体用于:
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音时长与待评测语音片段的发音总时长的比值;或者;
按照每帧音频帧各自对应的音素发音状态最终标签,确定所述待评测语音片段中目标词对应的目标音素发音音量与待评测语音片段的发音总音量的比值。
可选的,所述音频特征提取单元具体用于:
对所述待评测语音片段进行梅尔频率倒谱系数MFCCs音频特征提取,得到所述待评测语音片段对应的音频帧序列。
可选的,本发明还公开一种电子设备,所述电子设备包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:
执行如上所述的口语发音评测方法。
可选的,本发明还公开一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行程序,所述计算机可执行程序被处理器加载并执行时,实现如上所述的口语发音评测方法。
本说明书中各个实施例中记载的技术特征可以相互替换或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种口语发音评测方法、装置、电子设备及存储介质
- 一种口语发音评测方法、装置、设备及存储介质