一种批量测试语音识别和文本合成的方法和测试系统与流程

文档序号:16848104发布日期:2019-02-12 22:29阅读:384来源:国知局
一种批量测试语音识别和文本合成的方法和测试系统与流程

本发明属于测试方法和系统相关领域,具体涉及一种批量测试语音识别和文本合成的方法和测试系统。



背景技术:

随着语音技术的成熟,很多通过语音进行控制的智能音箱,手机语音助手,智能家居,智能汽车等产品越来越多,基于语音进行设备控制更为方便,体验上更具有优势。然而对于语音识别的产品测试也成了一个难点,目前对于大批量语音识别的测试,tts文本合成的测试没有一个完整的测试方法及测试工具,因此,只能将语音识别和文字转语音的割裂开来进行测试;举个例子如果想要判断文字识别后的发音是否正确,只能先把语音输入测试一遍文字识别asr,然后把识别对的文字送给tts做测试;另外tts的测试现阶段更多的还是靠人耳去听,是不是读错了,是不是有停顿,是不是直接没有读等等;而靠人耳进行听则非常耗费时间和人力进行人工判断。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种批量测试语音识别和文本合成的方法和测试工具。

为了实现上述目的,本发明采取的技术方案如下:

技术方案一:

一种批量测试语音识别和文本合成的方法,包括以下步骤:

步骤1、将现有asr与tts技术的jar包或so包集成到测试系统;

步骤2、启动测试脚本,根据测试设备的序列号选择待测试的功能,所述供选择的待测试的功能包括asr功能,tts功能;当输入不正确的值时提示输入值不正确,弹出提示要求输入正确的值;

步骤3、根据所选择的待测试功能将pc中已配置好的config配置文件推送/拷贝到测试设备;当本地配置文件不存在时提醒配置文件不存在停止运行;

步骤4、启动测试系统,读取测试系统中存储的配置文件,并检查配置文件中的信息是否正常,当配置文件不正确时打印错误信息并停止运行;

步骤5、配置文件检查通过后,开始进行对应的功能测试;

步骤5.1、asr功能测试

步骤5.1.1、根据配置文件中的语音识别模式和语音信息获取语音识别模式以及语音数据文件,将语音数据文件进行播放形成语音,待测系统将接收的语音按照实际使用情况进行分割分段送入语音识别系统的app进行识别;如果语音识别模式是识别则进入识别模式,如果语音识别模式是唤醒则进行唤醒模式;所述语音数据文件采用的是已经录制好的16k或48k的wav或pcm格式的语音数据;

步骤5.1.2、当有识别或唤醒的结果返回时,获取识别或唤醒结果,并保存到测试设备;当语音识别错误无结果返回时,使用空值并保存相关信息。

步骤5.2tts功能测试

步骤5.2.1、根据配置文件中tts文本信息,前端模型,后端模型信息,加载tts相关的信息到文本合成系统的app中,然后将文本信息送入进行合成;当合成失败时打印合成失败的信息,再继续合成下一条数据;

步骤5.2.2、文本合成之后,获取文本合成的语音保存到测试设备,将合成的语音再进行asr语音识别;

步骤5.2.3、获取经tts合成后语音的asr语音识别结果保存到本地,并运行对应脚本进行结果计算;

步骤6、所选择的测试功能均测试完毕后,将asr测试中间结果保存到pc,运行对应脚本进行结果计算,并与对应的标准测试结果进行对比;

步骤6.1、asr功能结果处理并保存

步骤6.1.1、识别功能:通过标准文本的格式判断语音是长语音还是短语音,然后将识别的结果与标准文本进行对比,获取到本次识别结果的字错误率wer、句错误率ser或者词错误率;

步骤6.1.2、唤醒功能:通过语音集信息判断是正常唤醒还是误唤醒,如果是正常唤醒,将正常唤醒的测试结果与标准文本进行对比,剔除误唤醒数据,得到唤醒率;如果是误唤醒,根据误唤醒测试得到数据及时长,得到单位时间内的误唤醒值;

得到测试结果后将测试结果按照测试的文件名加时间进行保存,再将步骤3~6重复一遍后,进行下一轮测试;

步骤6.2、tts功能以及后处理

步骤6.2.1、将tts功能识别后的结果保存到pc上,然后与送入tts进行合成的原始文本进行对比,将tts进行合成的原始文本中与经asr语音识别后结果不同的内容,进行保存,再将步骤3~6重复一遍后,进行下一轮测试;

步骤6.2.2、将步骤6.2.1的语音识别结果与步骤5.1.2中的asr结果进行对比,判断是否有不一致的结果;

步骤6.2.3、挑出所有不一致的语音文件id或文本文件id;

步骤6.2.4、根据两次识别不一致的结果进行分析,判断具体问题。

进一步的,步骤3所述config配置文件所包含的配置信息包括:对于asr功能:config配置文件中包含有识别语音的采样率,语音使用领域,是否有vad功能处理语音,nlu后处理,进行识别的服务器识别引擎版本,或离线识别引擎版本等参数信息;对于tts功能:config配置文件中包含有前端模型,后端模型,合成采样率,合成语速,使用场景,合成音效等参数信息。

进一步的,步骤4中需要检查的配置文件中的信息包括:待测试的功能的服务器地址,使用时的关键key值;当待测试功能为asr功能时,还需要检查配置的识别的语音信息、包含识别和唤醒的语音识别模式,并将配置文件按照对应的语音集文件名进行存储;当待测功能为tts功能时,还需要检查配置的tts合成的文本信息,tts的前端模型和后端模型。

技术方案二:

一种批量测试语音识别和文本合成的测试系统,包括控制模块,以及分别与所述控制模块相连接的存储模块、输入模块、文件发送模块、语音输出模块、文件接收模块和测试结果输出模块;

所述存储模块用于存储配置文件以及测试所用的语音数据文件;

所述输入模块用于选择待测试功能;

所述文件发送模块用于向测试设备发送配置文件;

所述控制模块分别用于接收所述输入模块选择的待测功能结果,并调取存储模块存储的所选待测功能的相应配置文件,并通过文件发送模块将其发送至测试设备;

所述控制模块用于调取存储模块存储的语音数据文件,并通过语音输出模块进行语音播放;

所述文件接收模块用于接收待测系统的识别结果;

所述结果输出模块用于输出测试结果并显示;

所述控制模块用于分析对比所述文件接收模块接收的识别结果得出测试结果,并将测试结果通过所述结果输出模块进行输出和显示。

进一步的,所述控制模块还包括自检模块,所述自检模块用于检查配置文件中的信息是否正常。

与现有技术相比,本发明所取得的有益效果如下:

本发明整合了语音识别和文本合成从送测试数据到结果统计的整个流程,可以覆盖语音识别多场景,文本合成多个场景的测试,有效提高语音识别测试速度和测试范围;此外本发明在文字转语音的过程中引入了识别模式,只需要对转出的语音进行再次识别判断是否有错误的文字,错误的断句(断句则停止识别)等,配合少量甚至零人工听来进行测试判断tts功能性能。

本发明配合少量的人工后处理后分析,把所有asr结果到tts再到asr结果两次文本不能匹配的文件id(语音id)穷举,进行少量的人工试听,以及asr识别的中间结果查看,方便在一个测试系统内进行问题搜集和问题快速分析,极大地提高了工作效率。

附图说明

图1为本发明一种批量测试语音识别和文本合成的方法的工作流程图;

图2为本发明实现语音识别和文本合成测试的框图;

图3为本发明测试系统的系统结构图。

具体实施方式

asr指的是自动语音识别技术(automaticspeechrecognition),是一种将人的语音转换为文本的技术。

tts是texttospeech的缩写,是一种将文本文件转换为语音文件的技术,其可以实现120-150个汉字/秒的快速语音合成。

asr和tts均为目前较为成熟的一种技术,因此,本发明中不再赘述。

以下结合实施例对本发明进行进一步详细的叙述。

如图1~2所示的一种校准无线终端产品的方法,包括如下步骤:

步骤1、将现有asr与tts技术的jar包或so包集成到测试系统;

步骤2、启动测试脚本,根据测试设备的序列号选择待测试的功能(asr功能,tts功能,skip跳过);当输入不正确的值时提示输入值不正确,弹出提示要求输入正确的值;

步骤3、根据所选择的待测试功能将pc中已配置好的config配置文件推送/拷贝到测试设备;当本地配置文件不存在时提醒配置文件不存在停止运行;(对于asr功能:config配置文件中包含有识别语音的采样率,语音使用领域,是否有vad功能处理语音,nlu后处理,进行识别的服务器识别引擎版本,或离线识别引擎版本等参数信息;对于tts功能:config配置文件中包含有前端模型,后端模型,合成采样率,合成语速,使用场景,合成音效等参数信息;)

步骤4、启动测试系统,读取测试系统中存储的配置文件,并检查配置文件中的信息是否正常,当配置文件不正确时打印错误信息并停止运行;【需要检查的配置文件中的信息包括:待测试的功能的服务器地址,使用时的关键key值,当待测试功能为asr功能时,还需要配置识别的语音信息、包含识别和唤醒的语音识别模式,并将配置文件按照对应的语音集文件名进行存储;当待测功能为tts功能时,还需要配置tts合成的文本信息,tts的前端模型和后端模型】。

步骤5、配置文件检查通过后,开始进行对应的功能测试。

步骤5.1、asr功能测试

步骤5.1.1、根据配置文件中的语音识别模式和语音信息获取语音识别模式以及语音数据文件,将语音数据文件进行播放形成语音,待测系统将接收的语音按照实际使用情况进行分割(每次默认送入数据大约10ms,此参数可在配置文件中配置)分段送入语音识别系统的app进行识别;如果语音识别模式是识别则进入识别模式,如果语音识别模式是唤醒则进行唤醒模式;(所述语音数据文件采用的是已经录制好的16k或48k的wav或pcm格式的语音数据;)

步骤5.1.2、当有识别或唤醒的结果返回时,获取识别或唤醒结果,并保存到测试设备;【识别结果文件保存格式为:当前进行识别的语音文件路径加文件名语音开始识别的时间语音结束识别的时间语音识别的结果;识别结果文件保存格式为:第几次唤醒个数统计返回结果的时间点】;当语音识别错误无结果返回时,使用空值并保存相关信息;

步骤5.2tts功能测试

步骤5.2.1、根据配置文件中tts文本信息,前端模型,后端模型信息,加载tts相关的信息到文本合成系统的app中,然后将文本信息送入进行合成;当合成失败时打印合成失败的信息,再继续合成下一条数据;

步骤5.2.2、文本合成之后,获取文本合成的语音保存到测试设备,将合成的语音再进行asr语音识别;

步骤5.2.3、获取经tts合成后语音的asr语音识别结果保存到本地,并运行对应脚本进行结果计算;(如果pc获取测试设备数据失败,则需要手动获取数据到pc);

步骤6、所选择的测试功能均测试完毕后,将asr测试中间结果保存到pc,运行对应脚本进行结果计算,并与对应的标准测试结果进行对比;(如果pc获取移动设备数据失败,则需要手动获取数据到pc);

步骤6.1、asr功能结果处理并保存

步骤6.1.1、识别功能:通过标准文本的格式判断语音是长语音还是短语音,然后将识别的结果与标准文本进行对比,获取到本次识别结果的字错误率wer、句错误率ser或者词错误率;

步骤6.1.2、唤醒功能:通过语音集信息判断是正常唤醒还是误唤醒,如果是正常唤醒,将正常唤醒的测试结果与标准文本进行对比,剔除误唤醒数据,得到唤醒率;如果是误唤醒,根据误唤醒测试得到数据及时长,得到单位时间内的误唤醒值;

得到测试结果后将测试结果按照测试的文件名加时间进行保存,再将步骤3~6重复一遍后,进行下一轮测试;

步骤6.2、tts功能以及后处理

步骤6.2.1、将tts功能识别后的结果保存到pc上,然后与送入tts进行合成的原始文本进行对比,将tts进行合成的原始文本中与经asr语音识别后结果不同的内容,进行保存,再将步骤3~6重复一遍后,进行下一轮测试;

步骤6.2.2、将步骤6.2.1的语音识别结果与步骤5.1.2中的asr结果进行对比,判断是否有不一致的结果;

步骤6.2.3、挑出所有不一致的语音文件id或文本文件id;

步骤6.2.4、根据两次识别不一致的结果进行分析,判断具体问题。

为实现上述工作,如图3所示,本发明还公开了一种批量测试语音识别和文本合成的测试系统,其特征在于,包括控制模块1,以及分别与所述控制模块1相连接的存储模块2、输入模块3、文件发送模块4、语音输出模块5、文件接收模块6和测试结果输出模块7;

所述存储模块2用于存储配置文件以及测试所用的语音数据文件;

所述输入模块3用于选择待测试功能;

所述文件发送模块4用于向测试设备发送配置文件;

所述控制模块1分别用于接收所述输入模块3选择的待测功能结果,并调取存储模块存储2的所选待测功能的相应配置文件,并通过文件发送模块4将其发送至测试设备;

所述控制模块1用于调取存储模块2存储的语音数据文件,并通过语音输出模块5进行语音播放;

所述文件接收模块6用于接收待测系统的识别结果;

所述结果输出模块7用于输出测试结果并显示;

所述控制模块1用于分析对比所述文件接收模块6接收的识别结果得出测试结果,并将测试结果通过所述结果输出模块7进行输出和显示。

进一步的,所述控制模块1还包括自检模块,所述自检模块用于检查配置文件中的信息是否正常。

以上所述实施方式仅为本发明的优选实施例,而并非本发明可行实施的穷举。对于本领域一般技术人员而言,在不背离本发明原理和精神的前提下对其所作出的任何显而易见的改动,都应当被认为包含在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1