首页> 中国专利> 语音处理系统的测试方法及相关设备、存储装置

语音处理系统的测试方法及相关设备、存储装置

摘要

本申请公开了一种语音处理系统的测试方法及相关设备、存储装置。语音处理系统包括业务端和服务器,该语音处理系统的测试方法应用于业务端。该语音处理系统的测试方法包括:读取预存测试脚本,其中,预存测试脚本是采用类自然语言编写的,预存测试脚本包括变量字段,变量字段用于获取测试所需的信息,测试所需的信息是从配置文件和/或系统信息中获取的;执行预存测试脚本,以获得对语音处理系统的测试结果。上述方案,能够提高预存测试脚本可读性,降低预存测试脚本编写难度,提高测试效率。

著录项

  • 公开/公告号CN112365902A

    专利类型发明专利

  • 公开/公告日2021-02-12

    原文格式PDF

  • 申请/专利权人 科大讯飞股份有限公司;

    申请/专利号CN202011112439.5

  • 发明设计人 沈简;任兆丰;

    申请日2020-10-16

  • 分类号G10L25/78(20130101);G10L25/48(20130101);

  • 代理机构44280 深圳市威世博知识产权代理事务所(普通合伙);

  • 代理人何倚雯

  • 地址 230088 安徽省合肥市高新开发区望江西路666号

  • 入库时间 2023-06-19 09:52:39

说明书

技术领域

本申请涉及语音处理领域,特别是涉及一种语音处理系统的测试方法及相关设备、存储装置。

背景技术

近年来语音处理技术逐渐完善。电信,金融等拥有海量语音数据的行业,是语音处理技术最佳的应用场所,其典型应用有智能客服,智能外呼等。目前,为了了解语音处理系统的语音处理服务性能,对语音处理系统进行测试时,需要熟悉各种通讯协议的软件工程师通过编程编写测试脚本才能进行测试,测试脚本编写难度大。

发明内容

本申请主要解决的技术问题是提供一种语音处理系统的测试方法及相关设备、存储装置,能够提高预存测试脚本可读性,降低预存测试脚本编写难度。

为了解决上述问题,本申请第一方面提供了一种语音处理系统的测试方法,所述语音处理系统包括业务端和服务器,所述方法应用于业务端,该语音处理系统的测试方法包括:读取预存测试脚本,其中,所述预存测试脚本是采用类自然语言编写的,所述预存测试脚本包括变量字段,所述变量字段用于获取测试所需的信息,所述测试所需的信息是从配置文件和/或系统信息中获取的;执行所述预存测试脚本,以获得待处理语音数据,并发送待处理语音数据至服务端,以获得对所述语音处理系统的测试结果。

其中,所述预存测试脚本还包括命令字段;其中,所述命令字段为封装有底层代码的类自然语言,用于实现测试过程中的步骤。

其中,所述命令字段用于实现的测试过程中的步骤包括以下至少一种:发送消息、等待预设步骤完成、控制所述等待的时间、检测接收到的消息是否包括预设内容、存储音频文件和发送音频文件;所述测试所需的信息包括以下至少一种:所述业务端的网络地址、所述服务端的网络地址、所述消息的相关信息、预设音频文件、预设语法文件和预设合成文本。

其中,所述语音处理系统的测试方法由所述业务端执行,所述执行所述预存测试脚本,包括:执行第一发送命令字段,以读取预设音频文件作为待处理语音数据,并使用实时传输协议发送所述待处理语音数据至所述服务端;执行第一等待命令字段,以确定是否在第一预设时间内接收到所述服务端反馈的第一事件消息,其中,所述第一事件消息表示已完成对所述待处理语音数据的识别,且包括所述待处理语音数据的识别结果;若在第一预设时间内未接收到所述第一事件消息,则记录表示未接收到所述第一事件消息的第一错误状态;若在第一预设时间内接收到所述第一事件消息,则将所述识别结果作为所述测试结果。

其中,在执行所述第一等待命令字段之前,所述执行所述预存测试脚本,还包括:执行第二等待命令字段,以确定是否在第二预设时间内接收到所述服务端反馈的第二事件消息,其中,所述第二事件消息表示已找到所述待处理语音数据的前端点;若在第二预设时间内接收到所述第二事件消息,则执行所述第一等待命令字段;否则,记录表示未接收到所述第二事件消息的第二错误状态;和/或,所述若在第一预设时间内接收到所述第一事件消息,则将所述识别结果作为所述测试结果,包括:若在第一预设时间内接收到所述第一事件消息,则执行第一检测命令字段,以检测所述第一事件消息是否包含第一状态码;若所述第一事件消息包含第一状态码,则将所述待处理语音数据的识别结果作为所述测试结果;否则,记录表示所述第一事件消息不包含第一状态码的第三错误状态。

其中,在执行所述第一发送命令字段之前,所述执行所述预存测试脚本,还包括:执行第二发送命令字段以及若干第一变量字段,以利用所述若干第一变量字段获得第一待传输信息,并利用所述第一待传输信息生成所述识别请求消息并发送给所述服务端;执行第三等待命令字段,以确定在第三预设时间内是否接收到所述服务端的第一响应消息;若在所述第三预设时间内未接收到第一响应消息,则记录表示未接收到所述第一响应消息的第四错误状态;若在所述第三预设时间内接收到第一响应消息,则执行第二检测命令字段,以检测所述第一响应消息是否包含第二状态码;若所述第一响应消息包含第二状态码,则执行所述第一发送命令字段;否则,记录表示所述第一响应消息不包含第二状态码的第五错误状态。

其中,在执行第二发送命令字段之前,所述执行所述预存测试脚本,还包括:执行第三发送命令字段以及若干第二变量字段,以利用所述若干第二变量字段获得第二待传输信息,并利用所述第二待传输信息生成所述参数配置消息并发送给所述服务端;执行第四等待命令字段,以确定在第四预设时间内是否接收到所述服务端的第二响应消息;若在所述第四预设时间内未接收到第二响应消息,则记录表示未接收到所述第二响应消息的第六错误状态;若在所述第四预设时间内接收到第二响应消息,则执行第三检测命令字段,以检测所述第二响应消息是否包含第三状态码;若所述第二响应消息包含第三状态码,则执行所述第二发送命令字段;否则,记录表示所述第二响应消息不包含第三状态码的第七错误状态。

其中,在执行第三发送命令字段之前,所述执行所述预存测试脚本,还包括:执行第四发送命令字段以及若干第三变量字段,以利用所述若干第三变量字段获得第三待传输信息,并利用所述第三待传输信息生成所述会话请求消息并发送给所述服务端;执行第五等待命令字段,以确定在第五预设时间内是否接收到所述服务端的第三响应消息;若在所述第五预设时间内未接收到第三响应消息,则记录表示未接收到所述第三响应消息的第八错误状态;若在所述第五预设时间内接收到第三响应消息,则执行第四检测命令字段,以检测所述第三响应消息是否包含第四状态码;若所述第三响应消息包含第四状态码,则执行第五发送命令字段,以向所述服务端发送确认消息;否则,记录表示所述第三响应消息不包含第四状态码的第九错误状态。

其中,所述参数配置消息、第二响应消息、识别请求消息、第一响应消息、第一事件消息采用的协议为媒体资源控制协议;所述会话请求消息、第三响应消息和确认消息采用的协议为会话初始协议;和/或,所述第一待传输信息和第二待传输信息包括相应消息的消息长度、标识码以及内容长度中的至少一种、所述第三待传输信息包括:所述业务端的网络地址,所述服务端的网络地址以及相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度。

其中,所述测试结果包括以下至少一个:所述识别结果、所述测试过程中的消息发送时间和消息接收时间、识别时延参数和识别时延性能结果;其中,所述识别时延参数为发送完所述预设音频文件到接收到所述第一事件消息之间的时间差,所述识别时延性能结果为所述时间差与预设阈值之间的比较结果。

其中,所述执行所述预存测试脚本包括:并行执行多个所述预存测试脚本。

为了解决上述问题,本申请第二方面提供了一种电子设备,该电子设备包括相互耦接的存储器和处理器,所述存储器中存储有程序指令,所述处理器用于执行所述程序指令以实现上述第一方面所述的语音处理系统的测试方法。

为了解决上述问题,本申请第三方面提供了一种存储装置,所述存储装置存储有能够被处理器运行的程序指令,所述程序指令用于实现上述第一方面所述的语音处理系统的测试方法。

上述方案,获取并执行所述预存测试脚本,即可获得对所述语音处理系统的测试结果,由于预存测试脚本是采用类自然语言编写的,又由于所述预存测试脚本包括用于获取测试所需的信息的变量字段,并且该测试所需的信息是从配置文件和/或系统信息中获取的,因此可以使用变量字段产生预存测试脚本中的复杂参数,进而可以提高预存测试脚本可读性,降低预存测试脚本编写难度,业务端可以在执行预存测试脚本过程中,获取待处理语音数据,并发送待处理语音数据至服务端,以使服务端对待处理语音数据进行处理,并反馈处理结果至业务端,从而业务端和服务端可以实现互动式语音处理,提高测试效率。

附图说明

图1是本申请语音处理系统的测试方法一实施例的流程示意图;

图2是本申请语音处理系统的测试方法另一实施例第一部分的流程示意图;

图3是本申请语音处理系统的测试方法另一实施例第二部分的流程示意图;

图4是本申请语音处理系统的测试方法另一实施例第三部分的流程示意图;

图5是本申请语音处理系统的测试方法一应用实施例的流程示意图;

图6是本申请电子设备一实施例的框架示意图;

图7是本申请存储装置一实施例的框架示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。

近年来语音处理技术逐渐完善。电信,金融等拥有海量语音数据的行业,是语音处理技术最佳的应用场所,其典型应用有智能客服,智能外呼等。语音处理系统可以包括业务端和服务端,业务端可以在执行预存测试脚本过程中,获取待处理语音数据,并发送待处理语音数据至服务端,以使服务端对待处理语音数据进行处理,并反馈处理结果至业务端,从而业务端和服务端可以实现互动式语音处理。语音处理包括但不限于语音识别、语音合成等服务,而语音处理系统中,业务端对接服务端,提供语音处理业务流程所需的流程控制服务等。为了了解语音处理系统的语音处理服务性能,可对语音处理系统进行自动化性能测试。

请参阅图1,图1是本申请语音处理系统的测试方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:

步骤S11:读取预存测试脚本。

本文的语音处理系统可以包括业务端和服务端。业务端执行预存测试脚本过程中,获取待处理语音数据并发送至服务端,以使服务端对待处理语音数据进行处理,并反馈处理结果至业务端,从而业务端执行本申请语音处理系统的测试方法获得对语音处理系统的测试结果。本申请语音处理系统的测试方法是对语音处理系统中业务端将待处理语音数据发送给服务端,而服务端对待处理语音数据进行处理并反馈处理结果给业务端这一过程进行测试。本申请语音处理系统的测试方法应用于业务端。业务端和/或服务端可以是电子设备和/或服务器,在此不作具体限定。语音处理系统包括但不限于互动式语音应答系统(IVR,Session Initiation Protocol),且语音处理系统所包含的业务端与服务端可以通过会话初始协议(SIP,Session Initiation Protocol)、实时传输协议(RTP,Real-timeTransport Protocol)、媒体资源控制协议(MRCP,Media Resource Control Protocol)等通讯协议实现语音处理。通讯协议的版本不作具体限定,例如,媒体资源控制协议可以为第二版本——(MRCPv2,Media Resource Control Protocol v2)。语音处理系统的测试方法可以但不限于由语音处理系统的业务端执行。

预存测试脚本是采用类自然语言编写的。业务端读取预存测试脚本,可以模拟语音处理系统在不同场景下的通信流程,从而实现语音处理系统的自动化测试。

预存测试脚本的内容繁琐,若人为手动编写预存测试脚本中各通讯流程的内容,往往可读性较差且手动编写繁琐困难、易出错,因此为了简化预存测试脚本的编写难度,预存测试脚本可以包括变量字段,该变量字段用于获取测试所需的信息。测试所需的信息可以包括但不限于以下至少一种:业务端的网络地址、服务端的网络地址、消息的相关信息、预设音频文件、预设语法文件和预设合成文本。测试所需的信息是从配置文件和/或系统信息中获取的,尤其配置文件和/或系统信息可以包括自动化测试中重复出现、容易混淆的、手动编写复杂的测试所需的信息,从而可以提高预存测试脚本的准确性、降低编写预存测试脚本的难度。如表1所示,表1是本申请语音处理系统的测试方法一实施例的变量字段功能表。

表1本申请语音处理系统的测试方法一实施例的变量字段功能表

测试所需的信息包括业务端的网络地址的情况下,可以但不限于利用session.hostSipClient变量字段获取配置文件中指定的SIP业务端的服务器网络地址,或者利用session.hostMediaClient变量字段获取配置文件中指定的SIP消息SDP消息体中MRCPv2业务端使用的网络地址,或者利用session.answerContact变量字段返回bye消息头文件字段中关于业务端地址信息,或者利用session.portSipClient变量字段产生随机SIP业务端网络端口。

测试所需的信息包括服务端的网络地址的情况下,可以但不限于利用session.sipServer变量字段获取获取配置文件中指定的服务端的服务器网络地址,或者利用session.getFreeRtpPort变量字段产生一个RTP服务端口号,或者利用session.getPrevRtpPort变量字段获取上次产生的RTP端口号。

测试所需的信息包括消息的相关信息的情况下,可以但不限于利用session.getCSeq变量字段获取当前轮次SIP消息序列号,利用session.nextCSeq变量字段将SIP消息序列号在上一轮SIP交互的基础上加1,利用session.fromTag变量字段自动产生SIP消息from字段tag域内容,利用session.toTag变量字段自动产生SIP消息to字段tag域内容,利用msg.length变量字段自动计算替换完变量后SIP或MRCPv2消息字节长度,利用msg.contentLength变量字段自动计算替换完变量后SIP或MRCPv2消息的消息体字节长度,利用session.getCallId变量字段自动产生本次SIP会话的唯一标识码,利用session.channelIdentifier变量字段获取本次MRCPv2会话的唯一标识码,利用session.transportType变量字段获取配置文件中指定的SIP协议使用的传输层协议,利用session.mrcpTransport变量字段返回配置文件中设置的MRPCv2协议使用的传输层协议,在此对获取消息的相关信息的变量字段不作具体限定。其中,消息的相关信息包括但不限于相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度,例如,SIP消息序列号、SIP消息from字段tag域内容、SIP消息to字段tag域内容、SIP或MRCPv2消息字节长度、SIP或MRCPv2消息的消息体字节长度、SIP会话的唯一标识码、MRCPv2会话的唯一标识码、SIP协议使用的传输层协议、MRPCv2协议使用的传输层协议等。

测试所需的信息包括预设音频文件的情况下,可以但不限于利用theWaveFile变量字段指定使用的音频文件;利用nextWaveFile变量字段获取测试目录下的下一个转写音频;利用file变量字段使用FTP读取外部文件。

测试所需的信息包括预设语法文件的情况下,可以但不限于利用theGrammarFile变量字段指定使用的语法文件;利用nextGrammarFile变量字段获取指定目录下的下一个语法文件;利用file变量字段使用FTP读取外部文件。

测试所需的信息包括预设合成文本的情况下,可以但不限于利用theTextFile变量字段指定使用的合成文本;利用nextTextFile变量字段获取获取测试目录下的下一个合成文本;利用file变量字段使用FTP读取外部文件。

可以理解的,变量字段的表现形式不做限定,用于实现相同或近似功能的字段即为本申请的变量字段。

在一实施例中,预存测试脚本还可以包括命令字段,该命令字段为封装有底层代码的类自然语言,降低了预存测试脚本的编写难度,因此,即使是无编程基础的现场实施运维测试人员,也能够利用命令字段编写预存测试脚本。命令字段用于实现测试过程中的步骤。具体地,命令字段用于实现的测试过程中的步骤包括以下至少一种:发送消息、等待预设步骤完成、控制等待的时间、检测接收到的消息是否包括预设内容、存储音频文件和发送音频文件。预设步骤、预设内容等内容均可以自定义设置,在此不作具体限定。利用命令字段,可以模拟各种语音处理系统的协议通信场景,尤其复杂的协议通信场景。如表2所示,表2是本申请语音处理系统的测试方法一实施例的命令字段功能表。

表2本申请语音处理系统的测试方法一实施例的命令字段功能表

可以理解的,预存测试脚本可以仅包括命令字段,可以仅包括变量字段,还可以包括命令字段和变量字段,并且预存测试脚本的命令字段和变量字段均可以自由组合,从而模拟各种语音处理场景,在此不作具体限定。由于命令字段封装有底层代码的类自然语言,从而可以通过命令字段抽象测试过程中的步骤的底层实现,又由于变量字段用于获取测试所需的信息,从而可以使用变量字段自动产生消息中具体内容,可提高了预存测试脚本可读性,降低了预存测试脚本编写难度。

步骤S12:执行预存测试脚本,以获得待处理语音数据,并发送待处理语音数据至服务端,以获得对语音处理系统的测试结果。

获取到预存测试脚本,即可执行预存测试脚本,以获得待处理语音数据,并发送待处理语音数据至服务端,获得对语音处理系统的测试结果。不同预存测试脚本可以包括相同或不同的测试流程,从而获得的语音处理系统的测试结果不尽相同。测试结果包括以下至少一个:识别结果、测试过程中的消息发送时间和消息接收时间、识别时延参数和识别时延性能结果。其中,识别结果为对待处理语音数据进行识别和/或合成等处理后的结果。识别时延参数为发送完预设音频文件到接收到第一事件消息之间的时间差,由于第一事件消息表示已完成对待处理语音数据的识别,且包括待处理语音数据的识别结果,因此,发送完预设音频文件到接收到第一事件消息的时间差即为对待处理语音数据的处理时间,从而识别时延参数指示于对待处理语音数据的处理速度。业务端可以获取发送完预设音频文件的第一时间,获取接收到第一事件消息的第二时间,将第二时间与第一时间的差值作为识别时延参数,从而基于识别时延参数的大小获知业务端对待处理语音数据的处理速度。识别时延性能结果可以为发送完预设音频文件到接收到第一事件消息之间的时间差与预设阈值之间的比较结果,反映对待处理语音数据的处理速度。预设阈值的大小可以自定义设置,在此不作具体限定。业务端获取发送完预设音频文件到接收到第一事件消息之间的时间差,判断发送完预设音频文件到接收到第一事件消息之间的时间差是否小于预设阈值,若是,则得到表示识别时延性能好的比较结果,若否,则得到表示识别时延性能差的比较结果,也即是获取到识别时延参数后,判断识别时延参数是否小于预设阈值,若是,则得到表示识别时延性能好的比较结果,若否,则得到表示识别时延性能差的比较结果。

在一实施例中,语音处理系统的测试方法由语音处理系统的业务端执行,在执行预存测试脚本时,执行第一发送命令字段,以读取预设音频文件作为待处理语音数据,并使用实时传输协议发送所述待处理语音数据至服务端。其中,第一发送命令字段可以但不限于是AUDIOSEND等发送音频文件的命令字段。由于预设音频文件可以是配置文件中指定目录下的音频文件,因此在一实施例中,为了能够按序读取配置文件中指定目录下的预设音频文件作为待处理语音数据,执行第一发送命令字段时还可以包括nextWaveFile变量字段,以按序读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端。

将待处理语音数据发送至服务端后,执行第一等待命令字段,以确定是否在第一预设时间内接收到服务端反馈的第一事件消息;若在第一预设时间内未接收到第一事件消息,则记录表示未接收到第一事件消息的第一错误状态;若在第一预设时间内接收到第一事件消息,则将识别结果作为测试结果。

第一事件消息表示已完成对待处理语音数据的识别,且包括待处理语音数据的识别结果,例如第一事件消息可以是MRCPv2 Recognize Complete事件。第一事件消息表示服务端已完成对待处理语音数据的识别,并可以将待处理语音数据的识别结果反馈至业务端。为了能够提高第一事件消息的精准度,可以对第一事件消息的状态码进行检测,仅第一事件消息的状态码为第一状态码的情况下,才将待处理语音数据的识别结果作为测试结果。第一状态码为预设内容的命令字段,用于表征传输第一事件消息的业务端和服务端不存在问题,也即用于反映第一事件消息的安全性。具体地,在第一预设时间内接收到第一事件消息,将识别结果作为测试结果时,若在第一预设时间内接收到第一事件消息,则执行第一检测命令字段,以检测第一事件消息是否包含第一状态码;若第一事件消息包含第一状态码,则将待处理语音数据的识别结果作为测试结果;否则,记录表示第一事件消息不包含第一状态码的第三错误状态。在一应用实施例中,第一事件消息是MRCPv2 RecognizeComplete事件,第一检测命令字段可以是RETCHECK等检测接收到的消息是否包括预设内容的命令字段,第一状态码为200,从而检测MRCPv2Recognize Complete事件是否第一状态码200,若是,将待处理语音数据的识别结果作为测试结果;否则,记录表示第一事件消息不包含第一状态码200的第三错误状态。

第一等待命令字段可以是MRCPWAIT等用于等待预设步骤完成的命令字段。在一实施例中,在执行第一等待命令字段之前,执行预存测试脚本时,还可以执行第二等待命令字段,以确定是否在第二预设时间内接收到服务端反馈的第二事件消息;若在第二预设时间内接收到第二事件消息,则执行第一等待命令字段;否则,记录表示未接收到第二事件消息的第二错误状态。其中,第二事件消息表示已找到待处理语音数据的前端点,例如第二事件消息可以为MRCPv2 Start of input事件。

因此,业务端利用AUDIOSEND命令字段读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端,而服务端通过第一事件消息将待处理语音数据的识别结果返回至业务端。

在一实施例中,在执行第一发送命令字段之前,执行预存测试脚本的过程中可以正式发起请求消息。具体地,在执行第一发送命令字段之前,执行第二发送命令字段以及若干第一变量字段,以利用若干第一变量字段获得第一待传输信息,并利用第一待传输信息生成识别请求消息并发送给服务端。第二发送命令字段包括但不限于MRCPSEND等发送消息的命令字段。识别请求消息包括但不限于为MRCPv2 Recognize消息。第一变量字段包括但不限于msg.length变量字段、session.channelIdentifier变量字段等。第一待传输信息包括相应消息的消息长度、标识码以及内容长度中的至少一种,在此不作具体限定。

识别请求消息发送给服务端后,可以执行第三等待命令字段,以确定在第三预设时间内是否接收到服务端的第一响应消息;若在第三预设时间内未接收到第一响应消息,则记录表示未接收到第一响应消息的第四错误状态;若在第三预设时间内接收到第一响应消息,则执行第二检测命令字段,以检测第一响应消息是否包含第二状态码;若第一响应消息包含第二状态码,则执行第一发送命令字段;否则,记录表示第一响应消息不包含第二状态码的第五错误状态。第二状态码为预设内容的命令字段,用于表征传输第一响应消息的业务端和服务端不存在问题,也即用于反映第一响应消息的安全性。

第一响应消息可以为MRCPv2 200in Progress,表示正在处理识别请求消息。第二检测命令字段可以是RETCHECK等检测接收到的消息是否包括预设内容的命令字段,用于检测第一响应消息是否包含第二状态码200。实际应用中,可以为除状态码为200外,其余均显示错误状态。

因此,业务端使用MRCPSEND命令字段发送识别请求消息给服务端,服务端可以回复MRCPv2 200in Progress第一响应消息,表示正在处理识别请求消息。

为了使业务端和服务端之间更好的进行通讯,可以在语音处理前,提前协商配置参数。具体地,在执行第二发送命令字段之前,执行预存测试脚本的过程中,还可以执行第三发送命令字段以及若干第二变量字段,以利用若干第二变量字段获得第二待传输信息,并利用第二待传输信息生成参数配置消息并发送给服务端。第三发送命令字段包括但不限于MRCPSEND等发送消息的命令字段。参数配置消息可以是MRCPv2define-grammar等用于确定语音处理流程中相关配置参数的消息。第二变量字段可以为用于自动计算替换完变量后SIP或MRCPv2消息字节长度的msg.length变量字段,用于获取本次MRCPv2会话的唯一标识码的session.channelIdentifier变量字段,用于自动计算替换完变量后SIP或MRCPv2消息的消息体字节长度的msg.contentLength等。第二待传输信息包括相应消息的消息长度、标识码以及内容长度中的至少一种。MRCPv2消息指示于利用媒体资源控制协议进行通讯的消息。

参数配置消息发送给服务端后,执行第四等待命令字段,以确定在第四预设时间内是否接收到服务端的第二响应消息;若在第四预设时间内未接收到第二响应消息,则记录表示未接收到第二响应消息的第六错误状态;若在第四预设时间内接收到第二响应消息,则执行第三检测命令字段,以检测第二响应消息是否包含第三状态码;若第二响应消息包含第三状态码,则执行第二发送命令字段;否则,记录表示第二响应消息不包含第三状态码的第七错误状态。其中,第四等待命令字段例如为MRCPWAIT等用于等待预设步骤完成的命令字段。第二响应消息可以是MRCPv2 200Complete消息,该MRCPv2 200Complete消息表示参数配置成功。第三检测命令字段可以是RETCHECK等检测接收到的消息是否包括预设内容的命令字段,用于检测第二响应消息是否包含第二状态码200。第三状态码为预设内容的命令字段,用于表征传输第二响应消息的业务端和服务端不存在问题,也即用于反映第二响应消息的安全性。

因此,业务端使用MRCPSEND命令字段发送识别请求消息MRCPv2 define-grammar消息给服务端,服务端可以回复MRCPv2 200Complete第二响应消息,从而表示参数配置成功。

在一实施例中,在执行第三发送命令字段之前,执行预存测试脚本时还可以执行第四发送命令字段以及若干第三变量字段,以利用若干第三变量字段获得第三待传输信息,并利用第三待传输信息生成会话请求消息并发送给服务端。第四发送命令字段包括但不限于SIPSEND等发送消息的命令字段。会话请求消息包括但不限于SIP invite消息。第三变量字段包括但不限于获取配置文件中指定的服务端的服务器网络地址的session.sipServer变量字段,获取配置文件中指定的SIP协议使用的传输层协议的session.transportType变量字段,用于自动产生SIP会话的事务标识的session.branch变量字段,获取配置文件中指定的SIP业务端的服务器网络地址的session.hostSipClient变量字段,用于自动产生SIP消息from字段tag域内容的session.fromTag变量字段,自动产生本次SIP会话的唯一标识码的session.getCallId变量字段,用于获取当前轮次SIP消息序列号的session.getCSeq变量字段,用于自动计算替换完变量后SIP或MRCPv2消息的消息体字节长度的msg.contentLengt变量字段,返回配置文件中设置的MRPCv2协议使用的传输层协议的session.mrcpTransport变量字段,获取配置文件中指定的SIP消息SDP消息体中MRCPv2业务端使用的网络地址的session.hostMediaClient变量字段,产生一个RTP端口服务端口号的session.getFreeRtpPort变量字段等。第三待传输信息可以包括业务端的网络地址,服务端的网络地址以及相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度。

会话请求消息发送给服务端后,执行第五等待命令字段,以确定在第五预设时间内是否接收到服务端的第三响应消息;若在第五预设时间内未接收到第三响应消息,则记录表示未接收到第三响应消息的第八错误状态;若在第五预设时间内接收到第三响应消息,则执行第四检测命令字段,以检测第三响应消息是否包含第四状态码;若第三响应消息包含第四状态码,则执行第五发送命令字段,以向服务端发送确认消息;否则,记录表示第三响应消息不包含第四状态码的第九错误状态。第四状态码为预设内容的命令字段,用于表征传输第三响应消息的业务端和服务端不存在问题,也即用于反映第三响应消息的安全性。第一至第四状态码可以但不限于为预设内容相同的命令字段,例如,第一至第四状态码均为200。实际应用中,可以为除状态码为200外,其余均显示错误状态。第五等待命令字段可以为WAIT等用于等待预设步骤完成的命令字段。第三响应消息为服务端针对会话请求消息的回复。第五发送命令字段可以是SIPACKSEND等发送消息的命令字段。确认消息可以是SIP ack消息,表示业务端收到服务端的第三响应消息。

因此,通过命令字段抽象了会话请求消息的底层实现,利用变量字段自动产生SIP消息中如事务标识,会话唯一标识码,Tag字段等复杂参数。

上述参数配置消息、第二响应消息、识别请求消息、第一响应消息、第一事件消息采用的协议可以为媒体资源控制协议,会话请求消息、第三响应消息和确认消息采用的协议可以为会话初始协议。上述第一至第九错误状态表示相应消息不包括预设预想内容,可一定程度上反映语音处理系统服务端的性能。上述第一至第五预设时间的大小均可以自定义设置,且其获取方式不作具体限定,例如,可以是从配置文件和/或系统信息中获取的。

因此,可以通过命令字段抽象了测试过程中的步骤的底层实现,也可以使用变量字段获取测试所需的信息,尤其是复杂繁琐的信息,从而可提高预存测试脚本可读性,降低预存测试脚本编写难度。通过命令字段和/或变量字段,简单易懂的执行预存测试脚本,模拟各种复杂的语音处理场景。语音处理系统测试所需的预存测试脚本可以包括命令字段和/或变量字段,仅需预存测试脚本编写人员增加、减少、替换命令字段和/或变量字段即可编写完成而获取预存测试脚本,使得预存测试脚本编写人员只需要了解基本通信流程即可。

在一实施例中,执行预存测试脚本时还可以并行执行多个预存测试脚本。通过计算机程序并行执行多个预存测试脚本,获得对语音处理系统的多个测试结果,同时模拟各种语音处理场景,并同时记录测试过程中所有出现的错误状态,大大降低了测试成本,且不会漏记、错记,消除了传统实际电话拨测场景中测试用户的主观因素干扰,可实现节省人力的高并发场景下稳定性的测试。尤其测试在高流量高并发场景下语音处理系统的稳定性,利用计算机程序自动化并行执行多个预存测试脚本,模拟高并发场景,可大大节省人力成本。

通过上述方式,获取并执行预存测试脚本,即可获得对语音处理系统的测试结果,由于预存测试脚本是采用类自然语言编写的,又由于预存测试脚本包括用于获取测试所需的信息的变量字段,并且该测试所需的信息是从配置文件和/或系统信息中获取的,因此可以使用变量字段产生预存测试脚本中的复杂参数,进而可以提高预存测试脚本可读性,降低预存测试脚本编写难度。

为了清楚说明执行预存测试脚本的测试过程,请参阅图2-图4,图2-图4均是本申请语音处理系统的测试方法另一实施例的部分流程示意图。图2是本申请语音处理系统的测试方法另一实施例第一部分的流程示意图;图3是本申请语音处理系统的测试方法另一实施例第二部分的流程示意图;图4是本申请语音处理系统的测试方法另一实施例第三部分的流程示意图。具体而言,本实施例方法包括以下步骤:

如图2所示,在语音处理前,业务端与服务端之间可以提前确定配置参数,具体地:

步骤S21:执行第四发送命令字段以及若干第三变量字段,以利用若干第三变量字段获得第三待传输信息,并利用第三待传输信息生成会话请求消息并发送给服务端。

第四发送命令字段包括但不限于SIPSEND命令字段。会话请求消息包括但不限于SIP invite消息。第三变量字段包括但不限于表示SIP服务端的服务器的网络地址的session.sipServer变量字段,表示SIP消息使用的传输层协议的session.transportType变量字段,用于产生SIP消息中事务标识的session.branch变量字段,表示SIP客户端网络地址的session.hostSipClient变量字段,用于产生SIP消息中区分客户端与服务端字段Tag的session.fromTag变量字段,表示SIP消息的唯一标识码的session.getCallId变量字段,用于产生SIP消息序列号的session.getCSeq变量字段,用于自动计算SIP消息体长度的msg.contentLengt变量字段,表示MRCPv2消息使用的传输层协议的session.mrcpTransport变量字段,表示MRCPv2客户端ip地址的session.hostMediaClient变量字段,用于随机产生一个可用的RTP协议端口的session.getFreeRtpPort变量字段等。第三待传输信息可以包括业务端的网络地址,服务端的网络地址以及相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度。第三待传输信息用于表征会话初始协议下业务端和服务端进行数据通讯时所需的配置参数,因此,业务端利用第三待传输信息生成会话请求消息并发送给服务端,将会话初始协议下数据通讯所需的配置参数发给服务端确定。会话初始协议下数据通讯所需的配置参数包括但不限于业务端的网络地址,服务端的网络地址以及相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度,例如,SIP服务端的服务器的网络地址、SIP消息使用的传输层协议、SIP消息中事务标识等。

步骤S22:执行第五等待命令字段,以确定在第五预设时间内是否接收到服务端的第三响应消息。

第五等待命令字段可以为WAIT命令字段。第三响应消息为服务端针对会话请求消息的回复。

若是,则执行步骤S23;若否,则记录第八错误状态,也即若在第五预设时间内未接收到第三响应消息,则记录表示未接收到第三响应消息的第八错误状态。

步骤S23:执行第四检测命令字段,以检测第三响应消息是否包含第四状态码。

若是,则执行步骤S24;若否,记录第七错误状态,也即记录表示第三响应消息不包含第四状态码的第七错误状态。

步骤S24:执行第五发送命令字段,以向服务端发送确认消息。

第五发送命令字段可以是SIPACKSEND命令字段。确认消息可以是SIP ack消息,表示业务端收到服务端的第三响应消息。

因此,在会话初始协议下,业务端可以通过执行第四发送命令字段以及若干第三变量字段、第五等待命令字段、第四检测命令字段、第五发送命令字段,实现业务端与服务端之间的数据通讯,确定第三待传输信息,进而确定业务端与服务端之间进行数据通讯的配置参数。

步骤S25:执行第三发送命令字段以及若干第二变量字段,以利用若干第二变量字段获得第二待传输信息,并利用第二待传输信息生成参数配置消息并发送给服务端。

第三发送命令字段包括但不限于MRCPSEND命令字段,该MRCPSEND命令字段可以用于发送MRCPv2 define-grammar等参数配置消息,以协商语音处理流程中相关配置参数。第二变量字段可以为用于自动计算MRCPv2消息的长度的msg.length变量字段,用于表示MRCPv2消息唯一标识码的session.channelIdentifier变量字段,用于自动计算MRCPv2消息的内容长度的msg.contentLength等。第二待传输信息包括相应消息的消息长度、标识码以及内容长度中的至少一种,其中相应消息可以是业务端与服务端数据通讯时的交互信息。第二待传输信息用于表征媒体资源控制协议下业务端和服务端进行数据通讯时所需的配置参数,因此,业务端利用第二待传输信息生成参数配置消息并发送给服务端,将媒体资源控制协议下数据通讯所需的配置参数发给服务端确定。媒体资源控制协议下数据通讯所需的配置参数包括相应消息的消息长度、标识码以及内容长度中的至少一种。

步骤S26:执行第四等待命令字段,以确定在第四预设时间内是否接收到服务端的第二响应消息。

其中,第四等待命令字段MRCPWAIT命令字段。第二响应消息可以是MRCPv2200Complete消息,该MRCPv2 200Complete消息表示参数配置成功。

若是,则执行步骤S27;若否,则记录第六错误状态,也即记录表示未接收到第二响应消息的第六错误状态。

步骤S27:执行第三检测命令字段,以检测第二响应消息是否包含第三状态码。

其中,第三检测命令字段可以是RETCHECK命令字段,用于检测第二响应消息是否包含第二状态码200。

若是,则执行步骤S28,也即是图3的步骤S31;若否,则记录第九错误状态,也即记录表示第二响应消息不包含第三状态码的第九错误状态。

在一实施例中,步骤S25-步骤S27中参数配置消息相关的命令字段还可以在执行第二发送命令字段时作为第一待传输信息发送给服务端。

步骤S21-步骤S27中,会话请求消息、第三响应消息和确认消息采用的协议可为会话初始协议;参数配置消息、第二响应消息采用的协议可为媒体资源控制协议。

步骤S28:执行第二发送命令字段。

因此,一应用实施例中,业务端可以使用MRCPSEND命令字段发送识别请求消息MRCPv2 define-grammar消息给服务端,服务端可以回复MRCPv2 200Complete第二响应消息,从而表示参数配置成功。

配置参数包括但不限于第二待传输信息和/或第三待传输信息所包括的参数信息,也即是配置参数可以包括会话初始协议下业务端的网络地址,服务端的网络地址以及相应消息所使用的传输层协议、标识码、序列号、事务标识、标签域内容和消息长度,也可以包括媒体资源控制协议下相应消息的消息长度、标识码以及内容长度中的至少一种,还可以包括其他通讯协议下实现语音处理所需的参数信息,在此不作具体限定。

如图3所示,通过识别请求消息,建立业务端与服务端识别服务的连接,具体地:

步骤S31:执行第二发送命令字段以及若干第一变量字段,以利用若干第一变量字段获得第一待传输信息,并利用第一待传输信息生成识别请求消息并发送给服务端。

第二发送命令字段包括但不限于MRCPSEND命令字段,而第一变量字段包括但不限于msg.length变量字段、session.channelIdentifier变量字段等,从而第一待传输信息包括相应消息的消息长度、标识码以及内容长度中的至少一种,在此不作具体限定。识别请求消息包括但不限于为MRCPv2 Recognize。

步骤S32:执行第三等待命令字段,以确定在第三预设时间内是否接收到服务端的第一响应消息。

若是,则执行步骤S33;若否,则记录第四错误状态,也即记录表示未接收到第一响应消息的第四错误状态。

其中,第三等待命令字段可以为MRCPWAIT;第一响应消息可以为MRCPv2 200inProgress,表示正在处理识别请求消息。

步骤S33:执行第二检测命令字段,以检测第一响应消息是否包含第二状态码。

第二检测命令字段可以是RETCHECK命令字段,用于检测第一响应消息是否包含第二状态码200。

若是,则执行步骤S34,也即是图4的步骤S41;若否,则记录五错误状态,也即记录表示第一响应消息不包含第二状态码的第五错误状态。

步骤S34:执行第一发送命令字段。

上述识别请求消息、第一响应消息采用的协议可为媒体资源控制协议。

因此,业务端使用MRCPSEND等第二发送命令字段发送识别请求消息给服务端,服务端可以回复MRCPv2 200in Progress等第一响应消息,表示正在处理识别请求消息。

如图4所示,业务端可读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端,而服务端可将待处理语音数据的识别结果返回至业务端,具体地:

步骤S41:执行第一发送命令字段,以读取预设音频文件作为待处理语音数据,并使用实时传输协议发送待处理语音数据至服务端。

第一发送命令字段可以但不限于是AUDIOSEND命令字段。

步骤S42:执行第二等待命令字段,以确定是否在第二预设时间内接收到服务端反馈的第二事件消息。

若是,则执行步骤S43;若否,则记录第二错误状态,也即记录表示未接收到第二事件消息的第二错误状态。

其中,第二事件消息表示已找到待处理语音数据的前端点。第二事件消息可以为MRCPv2 Start-of-input。第二等待命令字段可以是MRCPWAIT命令字段。

步骤S43:执行第一等待命令字段,以确定是否在第一预设时间内接收到服务端反馈的第一事件消息。

若是,则执行步骤S44;若否,则记录第一错误状态,也即记录表示未接收到第一事件消息的第一错误状态。

其中,第一事件消息表示已完成对待处理语音数据的识别,且包括待处理语音数据的识别结果。第一事件消息可以为MRCPv2 Recognize Complete。第一事件消息采用的协议可为媒体资源控制协议。第一等待命令字段可以是MRCPWAIT命令字段。

步骤S44:执行第一检测命令字段,以检测第一事件消息是否包含第一状态码。

若是,则执行步骤S45;若否,则记录第三错误状态,也即记录表示第一事件消息不包含第一状态码的第三错误状态。

步骤S45:将待处理语音数据的识别结果作为测试结果。

在一实施例中,将待处理语音数据的识别结果作为测试结果之后,执行第六发送命令字段以及若干第四变量字段,以利用若干第四变量字段获得第四待传输信息,并利用第四待传输信息生成结束消息并发送给服务端;执行第六等待命令字段以确定在第六预设时间内是否接收到服务端的第四响应消息,若在第六预设时间内未接收到第四响应消息,则记录表示未接收到第四响应消息的第十错误状态;若在第六预设时间内接收到第四响应消息,则结束本次语音处理。

第六发送命令字段可以为SIPSEND等发送消息的命令字段。结束消息可以为SIPbye等用于结束本次语音处理、初始化语音识别资源的消息。第四响应消息表示确认结束本次语音处理。第四变量字段包括但不限于返回bye(SIP响应)消息头文件字段中关于业务端地址信息的session.answerContact变量字段,用于产生SIP消息中事务标识的session.branch变量字段,表示SIP服务端的服务器的网络地址的session.sipServer变量字段,自动产生SIP消息to字段tag域内容的session.toTag变量字段,表示SIP客户端网络地址的session.hostSipClient变量字段,产生随机SIP业务端网络端口的session.portSipClient变量字段,用于产生SIP消息中区分客户端与服务端字段Tag的session.fromTag变量字段,自动产生本次SIP会话的唯一标识码的session.getCallId变量字段,获取当前轮次SIP消息序列号的session.nextCSeq变量字段。

因此,一应用实施例中,业务端可以使用MRCPSEND命令字段发送识别请求消息MRCPv2 define-grammar消息给服务端,服务端可以回复MRCPv2 200Complete第二响应消息,从而表示参数配置成功。业务端使用MRCPSEND等第二发送命令字段发送识别请求消息给服务端,服务端可以回复MRCPv2 200in Progress等第一响应消息,表示正在处理识别请求消息。业务端利用AUDIOSEND命令字段读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端,而服务端通过第一事件消息将待处理语音数据的识别结果返回至业务端。

本实施例中,通过命令字段和变量字段的组合,提供了一种类自然语言的预存测试脚本,能够实现发送消息、等待预设步骤完成、控制等待的时间、检测接收到的消息是否包括预设内容、存储音频文件和发送音频文件等测试过程中的步骤,并利用变量字段获取测试所需的信息,从而对消息中的复杂字段进行了抽象简化。对比人为手动编写预存测试脚本,使用本实施例语音处理系统的测试方法执行预存测试脚本,以获得对语音处理系统的测试结果,测试用户无需了解SIP,MRCPv2及RTP协议的底层计算机实现,只需掌握MRCPv2协议基本通信流程即可有效模拟各类复杂的通信场景。测试过程中的性能参数统计与错误记录工作也由命令字段自动执行,进一步减轻了测试工作量。另外,可通过组合不同的命令字段和/或变量字段,可以模拟各种不同网络环境和/或测试流程的语音处理场景,还可以稳定复现特殊环境下的语音处理场景。

测试结果包括识别结果的情况下,由于第一事件消息表示已完成对待处理语音数据的识别,且包括待处理语音数据的识别结果,因此将待处理语音数据的识别结果作为测试结果即可。

测试结果包括测试过程中的消息发送时间和消息接收时间的情况下,测试过程中的消息发送时间可以是上述任意一个或多个消息发送时间,包括但不限于发送会话请求消息、确认消息、参数配置消息、识别请求消息给服务端的时间;而测试过程中的消息接收时间可以是上述任意一个或多个消息接收时间,包括但不限于接收到服务端的第一响应消息、第二响应消息、第三响应消息的时间。通过测试过程中的消息发送时间和消息接收时间的情况,可以反映语音处理系统业务端和服务端之间的消息连通性。

测试结果包括识别时延参数和/或识别时延性能结果的情况下,从步骤S41读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端,可获知发送完预设音频文件的时间;并从步骤S43确定在第一预设时间内接收到服务端反馈的第一事件消息,可获知接收到第一事件消息的时间,从而获取发送完预设音频文件到接收到第一事件消息之间的时间差,得到识别时延参数,例如RECOG-LASTRESP时延等。获取发送完预设音频文件到接收到第一事件消息之间的时间差与预设阈值之间的比较结果,得到识别时延性能结果。识别时延参数记录预设音频文件最后一帧发送完的时间与收到识别结果的时间之间的延时,由于预设音频文件最后一帧发送完的时间对应实际电话拨测场景中测试用户说话结束的时间点,收到识别结果的时间可对应识别服务给出语音播报反馈的时间点,从而可有效量化语音识别处理系统的时延性能,因此,识别时延参数和识别时延性能结果均能反映服务时延性能。相较于实际电话拨测场景中测试用户主观判断语音处理系统的时延性能时存在主观因素的干扰,利用识别时延参数和/或识别时延性能结果反映服务时延性能,定量衡量语音处理服务的时延性能,使得时延性能的测试更加客观化、标准化。在一应用实施例中,识别时延参数为RECOG-LASTRESP时延,预设阈值为400ms,判断识别时延参数是否小于预设阈值,若是,则表示语音处理系统的时延特性满足要求。为了更加精确地反映语音处理系统的时延性能,可重复测试获取识别时延参数,不仅可以获取发送完预设音频文件到接收到第一事件消息之间的时间差与预设阈值之间的比较结果,还可以获取发送完预设音频文件到接收到第一事件消息之间的时间差与预设比例阈值之间的比例,获取该比例与预设比例的比较结果。例如,识别时延参数为RECOG-LASTRESP时延,预设阈值为400ms,预设比例阈值为2500ms,预设比例为0.5%,因此,判断识别时延参数是否小于预设阈值400ms,若是,则判断识别时延参数大于预设比例阈值2500ms的比例是否小于预设比例0.5%,若是,则表示语音处理系统的时延特性满足要求。预设阈值、预设比例阈值、预设比例均可根据需要自定义设置,通过设置可行的预设阈值等定量指标来衡量语音处理服务时延性能。

请参阅图5,图5是本申请语音处理系统的测试方法一应用实施例的流程示意图。

本实施例中,语音处理系统包括用于提供待处理语音数据的业务端和用于对待处理语音数据进行处理的服务端,且语音处理系统的测试方法由语音处理系统的业务端执行。

步骤S501:SIPSEND:SIP invite。

执行SIPSEND命令字段,将SIP invite消息发送给服务端。在一应用实施例中,执行SIPSEND命令字段以及若干第三变量字段,以利用若干第三变量字段获得第三待传输信息,并利用第三待传输信息生成SIP invite消息并发送给服务端。

步骤S502:WAIT:SIP 200OK。

也即执行第五等待命令字段WAIT,以确定在第五预设时间内是否接收到服务端的第三响应消息,并且还可以执行第四检测命令字段,以检测第三响应消息是否包含第四状态码200。

步骤S503:SIPACKSEND:SIP ack。

执行第五发送命令字段SIPACKSEND,以向服务端发送确认消息SIP ack。SIPACKSEND命令字段是第五发送命令字段。SIP ack消息是确认消息,表示业务端收到服务端的第三响应消息。

步骤S504:MRCPSEND:MRCPv2 define-grammar。

执行MRCPSEND命令字段以及若干第二变量字段,以利用若干第二变量字段获得第二待传输信息,并利用第二待传输信息生成MRCPv2define-grammar并发送给服务端。

步骤S505:MRCPWAIT:MRCPv2 200Complete。

执行MRCPWAIT命令字段,以确定在第四预设时间内是否接收到服务端的MRCPv2200Complete,并且还可以执行RETCHECK命令字段,以检测MRCPv2 200Complete是否包含第三状态码200。MRCPWAIT命令字段为第四等待命令字段。MRCPv2 200Complete消息是第二响应消息,该MRCPv2 200Complete消息表示参数配置成功。

其余有关步骤S501-步骤S505的描述可参阅上述图2所示实施例的描述,在此不再赘述。

步骤S506:MRCPSEND:MRCPv2 Recognize。

执行MRCPSEND命令字段以及若干第一变量字段,以利用若干第一变量字段获得第一待传输信息,并利用第一待传输信息生成MRCPv2Recognize并发送给服务端。MRCPSEND命令字段为第二发送命令字段,MRCPv2 Recognize为识别请求消息。

步骤S507:MRCPWAIT:MRCPv2 200in Progress。

执行MRCPWAIT命令字段,以确定在第三预设时间内是否接收到服务端的MRCPv2200in Progress,并且还可以执行RETCHECK命令字段,以检测MRCPv2 200in Progress是否包含第二状态码200。MRCPWAIT为第三等待命令字段;MRCPv2 200in Progress为第一响应消息,表示服务端正在处理识别请求消息。RETCHECK命令字段为第二检测命令字段。

其余有关步骤S506-步骤S507的描述可参阅上述图3所示实施例的描述,在此不再赘述。

步骤S508:AUDIOSEND:RTP待处理语音数据。

执行AUDIOSEND命令字段,以读取预设音频文件作为待处理语音数据,并使用实时传输协议发送至服务端。AUDIOSENDAUDIOSEND为第一发送命令字段。

步骤S509:MRCPWAIT:MRCPv2 Start-of-input。

执行MRCPWAIT命令字段,以确定是否在第二预设时间内接收到服务端反馈的MRCPv2 Start-of-input。MRCPv2 Start-of-input为第二事件消息,表示已找到待处理语音数据的前端点;MRCPWAIT命令字段为第二等待命令字段。

步骤S510:MRCPWAIT:MRCPv2 Recognize Complete。

执行MRCPWAIT命令字段,以确定是否在第一预设时间内接收到服务端反馈的第一事件消息。MRCPv2 Recognize Complete为第一事件消息,表示已完成对待处理语音数据的识别,且包括待处理语音数据的识别结果;MRCPWAIT命令字段为第一等待命令字段。当然还可以执行第一检测命令字段,以检测第一事件消息是否包含第一状态码。

步骤S511:SIPSEND:SIP bye。

执行SIPSEND命令字段以及若干第四变量字段,以利用若干第四变量字段获得第四待传输信息,并利用第四待传输信息生成SIP bye并发送给服务端。SIPSEND命令字段为第六发送命令字段;SIP bye为结束消息,用于结束本次语音处理、初始化语音识别资源的消息。

步骤S512:200ok。

执行第六等待命令字段以确定在第六预设时间内接收到服务端的200ok,即可结束本次语音处理系统的测试。200ok为服务端发送的第四响应消息。

其余有关步骤S508-步骤S512的描述可参阅上述图4所示实施例的描述,在此不再赘述。

请参阅图6,图6是本申请电子设备一实施例的框架示意图。具体而言,本实施例中电子设备600包括相互耦接的存储器610和处理器620。其中,存储器610用于存储的程序指令以及处理器620处理时所需存储的数据。

处理器620控制存储器610及其自身以实现上述语音处理系统的测试方法任一实施例的步骤。处理器620还可以称为CPU(Central Processing Unit,中央处理单元)。处理器620可能是一种集成电路芯片,具有信号的处理能力。处理器620还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器620可以由多个成电路芯片共同实现。

请参阅图7,图7是本申请存储装置一实施例的框架示意图。本申请存储装置700存储有能够被处理器运行的程序指令701,程序指令701用于实现上述任一语音处理系统的测试方法的实施例中步骤。

该存储装置700具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令701的介质,或者也可以为存储有该程序指令701的服务器,该服务器可将存储的程序指令701发送给其他设备运行,或者也可以自运行该存储的程序指令701。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号