一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理方法和装置与流程

2021-06-29 22:16:00 来源:中国专利 TAG:地说 装置 申请 方法 信息


1.本申请涉及信息处理技术领域,更具体地说,涉及一种处理方法和装置。


背景技术:

2.语音助手等语音识别应用的客户端会将采集到的语音发送到语音识别服务器侧进行语音识别。
3.由于语音识别应用的客户端采集到的语音可能会存在较多干扰信号,为了提高语音识别效果,在语音识别之前,还需要对语音进行降噪等预处理。而为了能够实现语音的降噪等预处理,同时又避免对语音识别服务器做过多改动,目前存在利用语音识别服务器之外单独设置的预处理服务器对客户端采集到的语音进行降噪等预处理的需求。
4.为了在语音识别之前对语音信号进行降噪等预处理,语音识别应用的客户端需要先将采集到的语音发送给预处理服务器进行预处理,然后,客户端再将预处理服务器返回的经过预处理的语音数据发送给语音识别服务器。然而,语音数据的数据量较多,多次频繁传输语音数据也必须要需要耗费较多的带宽,也会导致语音数据的语音识别延迟,使得语音识别的实时性较差。


技术实现要素:

5.本申请提供一种处理方法和装置。
6.其中,一种处理方法,包括:
7.获得预处理服务器发送的预处理语音数据,所述预处理语音数据是所述预处理服务器处理客户端发送的语音数据得到的,所述预处理语音数据携带有表征所述客户端的第一标识信息;
8.获得所述客户端发送的语音识别命令,所述语音识别命令携带有第二标识信息;
9.如果所述第二标识信息与所述第一标识信息匹配,基于所述语音识别命令对所述预处理语音数据进行语音识别,得到语音识别结果;
10.将所述语音识别结果返回给所述客户端。
11.在一种可能的实现方式中,在获得预处理服务器发送的预处理语音数据之后,还包括:
12.如果未获得与所述预处理语音数据对应的语音识别命令,将获得的预处理语音数据片段对应缓存至目标缓存区;且/或,
13.如果在预设时间段内未获得与所述预处理语音数据对应的语音识别命令,将缓存至目标缓存区的所述预处理语音数据片段删除;
14.且/或,所述基于所述语音识别命令对所述预处理语音数据进行语音识别,包括:
15.如果所述语音识别命令携带的第二标识信息与所述目标缓存区中缓存的预处理语音数据对应的所述第一标识信息匹配,基于所述语音识别命令对所述预处理语音数据进行语音识别。
16.在又一种可能的实现方式中,还包括:
17.如果在获得所述语音识别命令之后未获得与所述语音识别命令对应的预处理语音数据,或,
18.如果获得的语音识别命令携带的第二标识信息与目标缓存区内缓存的预处理语音数据对应的第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区;
19.且/或,
20.基于所述语音识别命令对所述预处理语音数据进行语音识别,还包括:
21.如果获得的所述预处理语音数据携带的第一标识信息与所述缓存区内缓存的所述语音识别命令的第二标识信息匹配,依据所述缓存区内匹配出的所述语音识别命令对所述预处理语音数据进行语音识别。
22.在又一种可能的实现方式中,所述第一标识信息为表征所述客户端以及所述语音数据所属语音流的标识信息;
23.所述基于所述语音识别命令对所述预处理语音数据进行语音识别,得到语音识别结果,包括:
24.基于所述语音识别命令对所述预处理语音数据以及属于所述语音流的其他预处理语音数据进行语音识别,其中,属于所述语音流的其他预处理语音数据为在所述预处理语音数据之后获得且携带有所述第一标识信息的预处理语音数据。
25.在又一种可能的实现方式中,所述如果所述语音识别命令携带的第二标识信息与所述目标缓存区中缓存的预处理语音数据对应的所述第一标识信息匹配,基于所述语音识别命令对所述预处理语音数据进行语音识别,包括:
26.如果所述语音识别命令携带的第二标识信息与所述目标缓存区中缓存的预处理语音数据对应的第一标识信息匹配,确定所述预处理语音数据所属的预处理语音流是否完整,所述预处理语音流为所述预处理服务器处理所述语音数据所属的语音流得到的,所述预处理语音数据属于所述预处理语音流包括的多个预处理语音数据片段;
27.如确定所述预处理语音流完整,基于所述语音识别命令,对所述预处理语音流进行语音识别。
28.在又一种可能的实现方式中,还包括:
29.获得所述客户端指示的语音处理参考参数;
30.所述预处理语音数据为经过预处理且已转换为符合所述客户端指示的语音处理参考参数的语音数据;
31.所述基于所述语音识别命令对所述预处理语音数据进行语音识别,包括:
32.从配置的多种语音识别算法中,确定与所述语音处理参考参数匹配的目标语音识别算法;
33.基于所述语音识别命令,并依据所述目标语音识别算法对所述预处理语音数据进行语音识别。
34.在又一种可能的实现方式中,所述获得预处理服务器发送的预处理语音数据,包括:
35.获得至少一个预处理服务器发送的预处理语音数据;
36.所述获得所述客户端发送的语音识别命令,包括:
37.获得至少一个客户端发送的语音识别命令;
38.所述如果未获得与所述预处理语音数据对应的语音识别命令,将获得的所述预处理语音数据片段缓存至目标缓存区,包括:
39.如果获得的所述预处理语音数据携带的第一标识信息与目标缓存区内的命令缓存记录表中记录的至少一个第二标识信息不匹配,将获得的所述预处理语音数据缓存至所述目标缓存区,并在目标缓存区的语音缓存记录表中记录所述预处理语音数据携带的第一标识信息;或,
40.所述如果获得的语音识别命令携带的第二标识信息与目标缓存区内缓存的预处理语音数据对应的第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区,包括:
41.如果获得的语音识别命令携带的第二标识信息与所述语音缓存记录表中记录的至少一个第一标识信息不匹配,将获得的语音识别命令缓存至在所述目标缓存区,并在所述命令缓存记录表中记录所述语音识别命令携带的第二标识信息。
42.其中,一种处理方法,包括:
43.获得采集到的语音数据;
44.向预处理服务器发送携带有标识信息的语音数据,以使得所述预处理服务器处理所述语音数据,并将处理得到的预处理语音数据以及所述标识信息发送给语音识别服务器,所述标识信息用于标识获得所述语音数据的客户端;
45.向所述语音识别服务器发送携带有所述标识信息的语音识别命令,所述语音识别命令用于指示对携带有所述标识信息的语音数据进行语音识别。
46.其中,一种处理装置,包括:
47.语音获得单元,用于获得预处理服务器发送的预处理语音数据,所述预处理语音数据是所述预处理服务器处理客户端发送的语音数据得到的,所述预处理语音数据携带有表征所述客户端的第一标识信息;
48.命令获得单元,用于获得所述客户端发送的语音识别命令,所述语音识别命令携带有第二标识信息;
49.识别单元,用于如果所述第二标识信息与所述第一标识信息匹配,基于所述语音识别命令对所述预处理语音数据进行语音识别,得到语音识别结果;
50.反馈单元,用于将所述语音识别结果返回给所述客户端。
51.其中,一种处理装置,包括:
52.获得单元,用于获得采集到的语音数据;
53.语音发送单元,用于向预处理服务器发送携带有标识信息的语音数据,以使得所述预处理服务器处理所述语音数据,并将处理得到的预处理语音数据以及所述标识信息发送给语音识别服务器,所述标识信息用于标识获得所述语音数据的客户端;
54.命令发送单元,用于向所述语音识别服务器发送携带有所述标识信息的语音识别命令,所述语音识别命令用于指示对携带有所述标识信息的语音数据进行语音识别。
55.又一方面,本申请还提供了一种电子设备,该电子设备包括存储器和处理器。
56.其中,存储器用于存储计算机程序。
57.处理器用于执行上述计算机程序,以实现以上任意一项所描述的处理方法。
58.又一方面,本申请还提供了一种计算机存储介质,用于存储计算机程序,该计算机
程序被执行时,用于实现如上任一项所提供的处理方法。
59.通过以上方案可知,预处理服务器处理客户端的语音数据得到预处理语音数据之后,会直接传输给语音识别服务器,而不需要再通过客户端转发,从而显著缩短了预处理语音数据传输到语音识别服务器所需要的时间,进而可以减少语音识别延迟,提高语音识别的实时性。
附图说明
60.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
61.图1为本申请实施例所适用的一种系统组成示意图;
62.图2为本申请实施例提供的一种处理方法的流程图;
63.图3为本申请实施例提供的另一种处理方法的流程图;
64.图4为本申请实施例提供的再一种处理方法的流程图;
65.图5为本申请实施例提供的一种处理装置的结构示意图;
66.图6为本申请实施例提供的另一种处理装置的结构示意图;
67.图7为本申请实施例提供的一种电子设备的结构示意图。
68.说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
69.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
70.本申请提供的方案,主要涉及语音识别相关的处理。
71.在一些语音识别场景中,客户端直接采集的语音数据可能质量较差,语音识别服务器无法直接对这些语音数据进行语音识别,此时,客户端采集的语音数据可以先由预处理服务器对其进行预处理,得到预处理语音数据,然后语音识别服务器再对预处理语音数据进行语音识别,得到对应的语音识别结果,并将语音识别结果反馈给客户端。
72.在上述语音识别过程中,客户端需要向语音识别服务器提供待识别的预处理语音数据,以及预处理语音数据对应的语音识别命令,通过语音识别命令请求语音识别服务器对预处理语音数据进行语音识别。
73.其中,预处理服务器对语音数据的预处理,可以包括,对语音数据进行降噪,转换语音数据的编码格式,调整语音数据的采样率(和/或语音数据的其他参数)等。
74.请参阅图1,本申请所提供的处理方法所适用的系统组成结构示意图。
75.由图1可以看出,本申请中,预处理语音数据和对应的语音识别命令是分别经由预处理服务器和客户端发到语音识别服务器。具体的,预处理语音数据由预处理服务器发送至语音识别服务器,语音识别命令则由客户端发送。
76.相应的,语音识别服务器可以基于语音识别命令,对获得的预处理语音数据进行语音识别,然后将得到的语音识别结果反馈给客户端。
77.请参阅图2,本申请所提供的处理方法的一种示意图,在本实施例中是从语音识别服务器侧进行介绍语音识别服务器可以执行如下的步骤:
78.s201、语音识别服务器获得预处理服务器发送的预处理语音数据。
79.其中,该预处理语音数据是预处理服务器处理客户端发送的语音数据得到的,该预处理语音数据携带有表征该客户端的第一标识信息。
80.该第一标识信息为客户端向预处理服务器发送的语音数据所携带的标识信息。s202、语音识别服务器获得客户端发送的语音识别命令。
81.其中,客户端发送的语音识别命令携带有第二标识信息。
82.可以理解的是,在本申请中为了仅仅是便于区分,将语音数据或者预处理语音数据携带的标识信息称为第一标识信息,而将语音识别命令携带的标识信息称为第二标识信息。
83.s203、如果语音识别服务器确认该第二标识信息与第一标识信息匹配,基于该语音识别命令对预处理语音数据进行语音识别,得到语音识别结果。
84.语音识别结果,可以是通过语音识别从预处理语音数据中识别得到的文本,也可以是基于识别得到的文本而生成的其他文本或数据。
85.s204、语音识别服务器将语音识别结果返回给客户端。
86.可见,由于预处理服务器处理客户端的语音数据得到预处理语音数据之后,会直接传输给语音识别服务器,而不需要再通过客户端转发,从而显著缩短了预处理语音数据传输到语音识别服务器所需要的时间,进而可以减少语音识别延迟,提高语音识别的实时性。
87.为了便于理解,下面从客户端侧对本申请的处理方法进行介绍。
88.请参阅图3,本申请所提供的处理方法的又一种流程示意图,本实施例是从客户端侧进行介绍客户端可以通过执行如下步骤,向语音识别服务器发送需要进行语音识别的语音数据:
89.s301、客户端获得采集到的语音数据。
90.其中,客户端采集并获得语音数据的具体条件和方式可以有多种可能。
91.如,客户端可以在检测到用户触发启动的语音识别指令(例如打开了客户端的语音识别应用,或者点击语音识别应用中的语音识别按键)后,客户端采集用户的语音,得到语音数据。
92.s302、客户端向预处理服务器发送携带有标识信息的语音数据,以使得预处理服务器处理语音数据,并将处理得到的预处理语音数据以及标识信息发送给语音识别服务器。
93.其中,语音数据所携带的标识信息,可以用于标识获得语音数据的客户端。
94.s303、客户端向语音识别服务器发送携带有该标识信息的语音识别命令。
95.其中,语音识别命令用于指示对携带有标识信息的语音数据进行语音识别。
96.具体的,语音识别命令可以包含进行语音识别的命令字,以及用于标识客户端的标识信息,由此,语音识别服务器可以在收到语音识别命令后,对携带有相同标识信息的语音数据进行语音识别。
97.为了便于理解,下面结合语音服务器、客户端和预处理器的交互对本申请的方案进行说明。
98.请参阅图4,图4为本申请实施例所提供的处理方法的一种具体实施方式,该方法可以包括如下步骤:
99.s401、客户端获得采集到的语音数据。
100.s402、客户端向预处理服务器发送携带有第一标识信息的语音数据。
101.在一种可能的情况中,第一标识信息,可以包含客户端自身的身份标识,即用于将该客户端和其他客户端区分开的客户端标识。
102.在又一种可能的情况中,该第一标识信息可以为用于标识客户端以及该语音数据所属语音流的标识信息。
103.如,第一标识信息可以区分该客户端不同次采集到的语音流,基于此,在客户端检测到语音采集指令,会生成一个标识信息,在此基础上,响应于该语音采集指令采集到的语音流中各个语音数据片段及针对该语音流生成的语音识别指令都会携带有该标识信息。
104.预处理服务器收到客户端的语音数据后,可以对该语音数据进行处理,处理后得到对应的预处理语音数据。
105.预处理服务器可以采用一些通用的语音处理技术对语音数据进行处理,例如,对语音数据进行降噪处理。
106.预处理服务器可以基于指定的语音处理参考参数对语音数据进行处理。例如,语音处理参考参数可以包括,编码格式为脉冲编码调制(pulse code modulation,pcm),采样率为16khz,采样深度为16bit,那么预处理服务器在对语音数据进行处理时,就可以将该语音数据按上述语音处理参考参数处理,以获得符合该语音处理参考参数预处理语义数据,即编码格式为pcm,采样率为16khz,采样深度为16bit的预处理语音数据。
107.在一种可能的实现方式中,客户端还可以向预处理服务器发送处理该语音数据所依据语音处理参考参数。如,客户端可以在发送的语音数据或者语音数据所属语音流的第一个语音数据片段时,携带该语音处理参考参数,以使得预处理服务器可以依据该语音处理参考参数处理语音数据,得到符合该语音处理参考参数的预处理语音数据。相应的,客户端还会向语音识别服务器发送该语音处理参考参数。
108.可以理解的是,该语音处理参考参数可以是由客户端,预处理服务器和语音识别服务器三者通过通信协商得到的。
109.作为一种可选方式,该客户端发送该语音处理参考参数为预先配置在客户端侧,且属于语音识别服务器支持的多种语音处理参考参数中的一种。
110.s403、语音识别服务器获得预处理服务器发送的预处理语音数据。
111.其中,预处理语音数据同样携带有第一标识信息。预处理服务器在处理语音数据,得到预处理语音数据后,可以将第一标识信息添加在预处理语音数据中,再向语音识别服务器发送携带有第一标识信息的预处理语音数据。
112.s404、语音识别服务器获得客户端发送的携带有第二标识信息的语音识别命令。
113.其中,在一种可能的情况中或者是,第二标识信息作为语音识别命令之外的信息与语音识别命令一起发送到语音识别服务器。
114.在一种可能的情况中,语音识别命令可以包含第二标识信息;
115.如,该语音识别命令可以包括指示语音识别服务器执行自动语音识别(automatic speechrecognition,asr)的命令字。根据实际架构的不同,语音识别命令可以用任意一种数据交换格式来表示,如可以用xml格式表示,可以用json格式表示,一个用json格式表示的语音识别命令示例可以是:
116.{
117."name":"recognizeoutbandvoice"
118."soundid":"fa70fc8b

2a54

fb85

65d7

39509fde7dfc"
119.}
120.其中,name表示语音识别命令的命令字,recognizeoutbandvoice就是命令字的具体内容,用于指示语音识别服务器执行带外语音识别,soundid用于表示语音识别的识别对象,例如,可以其可以为需要被识别的预处理语音数据的语音标识,在上述例子中,soundid就是语音识别命令携带的第二标识信息。
121.s405、语音识别服务器识别出第一标识信息和第二标识信息匹配,基于语音识别命令对预处理语音数据进行语音识别,得到语音识别结果。
122.如,第一标识信息和第二标识信息相同,则可以确认二者匹配。
123.若预处理语音数据的第一标识信息,和语音识别命令的第二标识信息匹配,可以认为预处理语音数据和语音识别命令相互对应。
124.在步骤s405中,语音识别服务器可以调用本地预先配置好的语音识别算法对预处理语音数据进行语音识别,从而将预处理语音数据转换为对应的文本。
125.可选的,语音识别服务器可以配置有多种语音识别算法,各个语音识别算法分别与不同种语音处理参考参数匹配。
126.例如,语音识别服务器可能配置有第一语音识别算法和第二语音识别算法,其中第一语音识别算法在识别高采样率的音频数据时效果较好,即第一语音识别算法与高采样率匹配,第二语音识别算法与低采样率匹配,在识别低采样率的音频数据时效果较好。
127.由此,在执行步骤s405时,语音识别服务器可以:
128.从配置的多种语音识别算法中,确定与语音处理参考参数匹配的目标语音识别算法;
129.基于语音识别命令,并依据目标语音识别算法对预处理语音数据进行语音识别。
130.结合前述例子,若预处理语音数据符合第一语音处理参考参数,第一语音处理参考参数中指定预处理语音数据的采样率较高,例如指定为64khz,则语音识别服务器可以确定出和第一语音处理参考参数匹配的第一语音识别算法,依据第一语音识别算法对预处理语音数据进行语音识别。
131.若预处理语音数据符合第二语音处理参考参数,第二语音处理参考参数中指定预处理语音数据的采样率较低,例如指定为16khz,则语音识别服务器可以确定出和第二语音处理参考参数匹配的第二语音识别算法,依据第二语音识别算法对预处理语音数据进行语
音识别。
132.语音识别服务器可以直接将语音识别算法输出的预处理语音数据对应的文本作为语音识别结果,也可以将预处理语音数据对应文本的应答数据作为语音识别结果。
133.例如,语音识别服务器获得的预处理语音数据可以是“今天天气如何”,语音识别服务器利用语音识别算法识别后,可以得到文本形式的“今天天气如何”,语音识别服务器可以直接将这一文本作为语音识别结果反馈给客户端,也可以根据该文本,生成对应的应答数据,将应当数据作为语音识别结果反馈给客户端。
134.针对文本“今天天气如何”,应答数据可以是语音识别服务器查询得到的客户端所在地区当前的天气数据,也可以是语音识别服务器根据该天气数据生成的文本,例如“今天气温40℃,天气晴”。
135.s406、语音识别服务器将语音识别结果返回给客户端。
136.可以看出,本申请所提供的处理方法分别从两个连接通道向语音识别服务器发送预处理语音数据和对应的语音识别命令,即一方面从预处理服务器和语音识别服务器间的连接通道发送预处理语音数据,另一方面从客户端和语音识别服务器间的连接通道发送语音识别命令。语音识别服务器分别获得了预处理语音数据和语音识别命令后,再对语音识别命令对应的预处理语音数据进行语音识别,获得语音识别结果,然后将语音识别结果反馈给发送语音识别命令的客户端。
137.一方面,本方案中预处理语音数据只需要经过一次传输,即直接由预处理服务器将预处理语音数据传输至语音识别服务器。而现有技术中预处理语音数据需要经过两次传输,分别是预处理服务器传输至客户端,客户端传输至语音识别服务器,才能到达语音识别服务器,本方案中语音识别服务器能够更快的获得预处理语音数据,进而更快的进行语音识别并反馈语音识别结果,因此,本方案能够改善语音识别的实时性。
138.另一方面,本方案中客户端不需要向语音识别服务器发送预处理语音数据,相比于现有的客户端向语音识别服务器发送预处理语音数据的方案,本方案能够减少客户端通过网络传输的数据量,从而减少客户端消耗的网络资源,节约客户端的带宽。
139.在本申请所提供的处理方法中,预处理语音数据和语音识别命令分别通过两个连接通道传输至语音识别服务器,因此,预处理语音数据和对应的语音识别命令之间可能存在不同步的问题,即语音识别服务器获得预处理语音数据的时刻,和获得该预处理语音数据对应的语音识别命令的时刻之间,可能存在一定的时间差。
140.例如,在一种情况中,语音识别服务器可能先收到预处理语音数据,然后经过一段时间后再收到预处理语音数据对应的语音识别命令;在另一种情况中,语音识别服务器可能先收到一个语音识别命令,经过一段时间后再收到该语音识别命令对应的预处理语音数据。
141.针对第一种情况,即先收到预处理语音数据,一段时间后再收到对应的语音识别命令的情况,语音识别服务器可以根据实际情况选择执行如下步骤:
142.如果未获得与预处理语音数据对应的语音识别命令,将获得的预处理语音数据片段对应缓存至目标缓存区;
143.如果在预设时间段内未获得与预处理语音数据对应的语音识别命令,将缓存至目标缓存区的预处理语音数据片段删除。
144.其中,目标缓存区,可以是语音识别服务器本地的存储介质中预先划分出的一块存储空间,也可以是和语音识别服务器建立通信连接的存储介质中划分出的一块存储空间。
145.一般的,客户端在实时采集用户语音的过程中,会以语音数据片段的形式定时向预处理服务器发送语音数据。例如,客户端在实时采集用户语音时,可以每隔2秒,就将最近这2秒内采集到的语音数据作为一个语音数据片段发送给预处理服务器,相应的,语音识别服务器所获得的预处理语音数据,也可以是预处理服务器对每个语音数据片段进行处理后得到的预处理语音数据片段。
146.需要注意的是,上述未获得与预处理语音数据对应的语音识别命令,可以包括,语音识别服务器在收到预处理语音数据的同时,未接收到该预处理语音数据对应的语音识别命令;并且,目标缓存区内缓存的语音识别命令(如果有)的第二标识信息,与该预处理语音数据的第一标识信息不匹配,即已缓存的语音识别命令不是该预处理语音数据对应的语音识别命令。
147.在一个具体场景中,语音识别服务器在收到一个预处理语音数据片段后,若判断出当前未获得该预处理语音数据片段对应的语音识别命令,可以将该预处理语音数据片段缓存在目标缓存区中,并记录该预处理语音数据片段的接收时间。此时刚接收到预处理语音数据片段,因此不需要执行删除步骤。
148.在收到该预处理语音数据片段,并经过一个预设时间段后(例如,预设时间段可以设定为数十秒,如30秒),语音识别服务器发现当前仍未收到缓存的这个预处理语音数据片段对应的语音识别命令,则可以从目标缓存区中删除这个预处理语音数据片段,以避免目标缓存区内缓存的预处理语音数据片段过多。
149.换言之,语音识别服务器可以规定每个预处理语音数据片段最多在目标缓存区保存30秒,若保存时间超过30秒则从目标缓存区删除。
150.可选的,当目标缓存区内空闲的存储空间较多时,也可以不删除其中缓存的预处理语音数据片段,直到空闲的存储空间不足时,再删除其中缓存的时间较长(如缓存的时间超过前述预设时间段)的预处理语音数据片段。
151.可选的,当语音识别服务器,预处理服务器和客户端三者之间的通信质量良好时,语音识别服务器也可以不缓存预处理语音数据,在获得预处理语音数据,而未获得对应的语音识别命令时,语音识别服务器可以认为客户端放弃对该预处理语音数据的语音识别,进而直接删除该预处理语音数据。
152.同时,由于目标缓存区中可能缓存有尚未进行语音识别的预处理语音数据片段,语音识别服务器在对预处理语音数据进行语音识别,可以执行如下步骤:
153.如果语音识别命令携带的第二标识信息与目标缓存区中缓存的预处理语音数据对应的第一标识信息匹配,基于语音识别命令对预处理语音数据进行语音识别。
154.换言之,当目标缓存区内缓存有至少一个预处理语音数据片段时,语音识别服务器获得一个语音识别命令后,还可以判断目标缓存区中缓存的预处理语音数据片段是否与该语音识别命令对应,即判断目标缓存区缓存的预处理语音数据片段的第一标识信息和该语音识别命令的第二标识信息是否匹配。
155.若发现目标缓存区中,存在第一标识信息和该语音识别命令的第二标识信息匹配
的预处理语音数据片段,就可以基于该语音识别命令对这些预处理语音数据片段进行语音识别。
156.通过建立目标缓存区并在其中缓存先收到的预处理语音数据,即使预处理语音数据比对应的语音识别命令先到达语音识别服务器,语音识别服务器也能够在稍后收到对应的语音识别命令时,正确地对该语音识别命令对应的预处理语音数据进行语音识别。
157.针对第二种情况,即语音识别服务器先收到语音识别命令,经过一段时间后再收到该语音识别命令对应的预处理语音数据的情况,语音识别服务器可以执行如下步骤:
158.如果在获得语音识别命令之后未获得与语音识别命令对应的预处理语音数据,将获得的语音识别命令缓存至目标缓存区;
159.如果获得的语音识别命令携带的第二标识信息与目标缓存区内缓存的预处理语音数据对应的第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区。
160.在上述实施例中,由于语音识别命令被缓存至目标缓存区,语音识别服务器在执行s405时,还可以执行如下动作:
161.如果获得的预处理语音数据携带的第一标识信息与缓存区内缓存的语音识别命令的第二标识信息匹配,依据缓存区内匹配出的语音识别命令对预处理语音数据进行语音识别。
162.语音识别服务器在收到一个语音识别命令后,可能发现当前未接收到该语音识别命令对应的预处理语音数据,也可能发现目标缓存区缓存的预处理语音数据均不是该语音识别命令对应的预处理语音数据,即缓存的预处理语音数据的第一标识信息均与该语音识别命令的第二标识信息不匹配,在发现上述任意一种情况时,语音识别服务器可以将该语音识别命令缓存在目标缓存区中。
163.对应的,当目标缓存区内缓存有至少一个语音识别命令时,语音识别服务器收到预处理语音数据后,既可以判断该预处理语音数据的第一标识信息和当前收到的语音识别命令的第二标识信息是否匹配,还可以判断该预处理语音数据的第一标识信息,和已缓存的各个语音识别命令的第二标识信息是否匹配。
164.如果发现本次收到的预处理语音数据携带的第一标识信息与缓存区内缓存的某个语音识别命令的第二标识信息匹配,则语音识别服务器可以从目标缓存区内读出该语音识别命令,依据该语音识别命令对本次收到的预处理语音数据进行语音识别。
165.通过建立目标缓存区并在其中缓存先收到的语音识别命令,即使语音识别命令比对应的预处理语音数据先到达语音识别服务器,语音识别服务器也能够在稍后收到对应的预处理语音数据时,正确地利用先收到的语音识别命令对对应的预处理语音数据进行语音识别。
166.综合上述第一种情况和第二种情况可以看出,本申请提供的方法中,针对预处理语音数据和对应的语音识别命令不同步的问题,语音识别命令可以建立一个目标缓存区,不论预处理语音数据和对应的语音识别命令两者中哪一个先到达语音识别服务器,语音识别服务器均可以将其缓存在目标缓存区中,等待之后到达的预处理语音数据(或语音识别命令),正确地执行语音识别,从而解决预处理语音数据和对应的语音识别命令不同步的问题。
167.将客户端在一段连续的时间内采集得到的音频记为一个语音流,例如,客户端在
t0时刻响应用户的操作而开始录音,至t1时刻结束,那么在t0至t1这段时间内录制得到的语音可以视为一个语音流,参照前文所述的语音数据片段,客户端一般会在采集这个语音流的过程中,即t0至t1这段时间内,实时将采集到的每一段时长较短的语音以语音数据片段的形式发送至预处理服务器,相应的语义识别服务器所获得的就是若干个预处理语音数据片段。
168.这种场景下,语音数据的第一标识信息可以表征发送该语音数据的客户端,以及该语音数据所属的语音流。例如,客户端可以为属于同一个语音流的所有语音数据片段配置相同的语音标识(即sound id),这样预处理服务器可以通过语音标识确定哪些语音数据片段属于同一语音流,类似的,语音数据片段中的语音标识可以保留在处理后得到的预处理语音数据片段中,这样语音识别服务器就可以通过语音标识确定哪些预处理语音数据片段属于同一语音流。
169.由于预处理服务器可能向语音识别服务器发送属于同一语音流的多个预处理语音数据片段,语音识别服务器在基于语音识别命令对预处理语音数据进行语音识别,得到语音识别结果时,具体可以:
170.基于语音识别命令对预处理语音数据以及属于语音流的其他预处理语音数据进行语音识别。
171.其中,属于语音流的其他预处理语音数据为在预处理语音数据之后获得且携带有第一标识信息的预处理语音数据。
172.语音识别服务器在收到一个预处理语音数据片段,和对应的语音识别命令后,可以基于该语音识别命令对该预处理语音数据片段进行语音识别,语音识别完成并反馈语音识别结果后,语音识别服务器可以将该语音识别命令缓存在目标缓存区中,若经过一段时间后,语音识别服务器收到属于同一语音流的另一个预处理语音数据片段,则语音识别服务器可以从目标缓存区取出语音识别命令,基于该语音识别命令对收到另一个预处理语音数据片段进行语音识别,识别完后再将语音识别命令存入目标缓存区,以此类推,若经过预设时间段(如经过10秒)后语音识别服务器仍未收到下一个属于同一语音流的预处理语音数据片段,则语音识别服务器可以判断出该语音流结束,此时在删除目标缓存区缓存的语音识别命令。
173.通过上述步骤,客户端只需要针对一次采集过程(语音采集功能开启到关闭的过程视为一次采集过程)发送一次语音识别命令,就可以指示语音识别服务器对本次采集过程采集到的全部语音数据进行语音识别,而不需要针对采集过程中发出的多个语音数据片段重复发送多次语音识别命令,显著地减少了客户端需要发送的数据量,降低客户端的带宽消耗。
174.当语音识别服务器收到的预处理语音数据是属于预处理语音流的预处理语音数据片段时,直接对预处理语音流中的部分预处理语音数据片段进行语音识别,可能会获得错误的语音识别结果。
175.其中,预处理语音流由预处理服务器处理客户端采集的语音流得到的。
176.为了避免上述情况,语音识别服务器在基于语音识别命令对预处理语音数据进行语音识别时,可以执行如下步骤:
177.确定预处理语音数据所属的预处理语音流是否完整,预处理语音流为预处理服务
器处理语音数据所属的语音流得到的,预处理语音数据属于预处理语音流包括的多个预处理语音数据片段;
178.如确定预处理语音流完整,基于语音识别命令,对预处理语音流进行语音识别。
179.如确定预处理语音流不完整,缓存语音识别命令和预处理语音数据,直至预处理语音流完整后,再基于语音识别命令,对预处理语音流进行语音识别。
180.客户端在发送语音数据片段时,可以在每个语音数据片段的第一标识信息中额外添加一个结束标记,结束标记可以设置为是或否,若某个语音数据片段的结束标记为是,就说明该语音数据片段是所属语音流的最后一个语音数据片段,反之,若结束标记为否,说明该语音数据片段不是所属语音流的最后一个语音数据片段,后面还有其他属于该语音流的语音数据片段。
181.同时,预处理服务器在处理语音数据片段,得到预处理语音数据片段后,可以将语音数据片段的结束标记复制到预处理语音数据片段中,这样语音识别服务器也就能确定当前收到的预处理语音数据片段是否为所属预处理语音流的最后一个预处理语音数据片段。
182.通过上述设置,语音识别服务器在收到一个预处理语音数据片段和对应的语音识别命令后,可以识别该预处理语音数据片段的结束标记,若结束标记为否,则语音识别服务器确定该预处理语音数据片段所属预处理语音流(记为预处理语音流a)不完整,于是将该预处理语音数据片段和对应的语音识别命令缓存在目标缓存区中,继续接收预处理语音流a的后续预处理语音数据片段。
183.当语音识别服务器某一时刻收到一个属于预处理语音流a的预处理语音数据片段,并且其中的结束标记为是,则确定出预处理语音流a完整,于是语音识别服务器可以从目标缓存区读取中所有属于预处理语音流a的预处理语音数据片段,从而获得完整的预处理语音流a,然后基于缓存区中预处理语音流a对应的语音识别命令,对预处理语音流a进行语音识别。
184.通过上述步骤,可以确保语音识别服务器对完整的语音流进行语音识别,而不会对语音流中的一部分语音数据片段进行语音识别,避免由于语音流不完整而获得错误的语音识别结果。
185.可以理解的,一个语音识别服务器可以同时为多个客户端提供语音识别服务,相应的,多个客户端可以通过不同的预处理服务器对语音数据进行处理。因此,前述步骤s403,以及步骤s201可以是:
186.语音识别服务器获得至少一个预处理服务器发送的预处理语音数据。
187.步骤s404,以及步骤s202可以是:
188.语音识别服务器获得至少一个客户端发送的携带有第二标识信息的语音识别命令。
189.针对这一情况,语音识别服务器可以分别建立一个命令缓存记录表,和一个语音缓存记录表。
190.每次将一个语音识别命令添加至目标缓存区时,就将这个语音识别命令的第二标识信息记录在命令缓存记录表中,同时,从目标缓存区删除一个语音识别命令时,同步在命令缓存记录表中删除对应的第二标识信息。
191.每次将一个预处理语音数据添加至目标缓存区时,就将这个预处理语音数据的第
一标识信息记录在语音缓存记录表中,同时,从目标缓存区删除一个预处理语音数据时,同步在语音缓存记录表中删除对应的第一标识信息。
192.由此,每次语音识别服务器获得预处理语音数据,且未获得与预处理语音数据对应的语音识别命令时,可以执行:
193.判断获得的预处理语音数据携带的第一标识信息与目标缓存区内的命令缓存记录表中记录的各个第二标识信息是否匹配;
194.若获得的预处理语音数据携带的第一标识信息与目标缓存区内的命令缓存记录表中记录的各个第二标识信息均不匹配,将获得的预处理语音数据缓存至目标缓存区,并在目标缓存区的语音缓存记录表中记录预处理语音数据携带的第一标识信息;
195.若获得的预处理语音数据携带的第一标识信息与目标缓存区内的命令缓存记录表中记录的一个第二标识信息匹配,则说明该预处理语音数据,和匹配的这个第二标识信息所对应的语音识别命令属于同一客户端提出的同一次语音识别请求,于是可以基于匹配的第二标识信息所对应的语音识别命令,对该预处理语音数据进行语音识别(或者可以等确定预处理语音数据所属预处理语音流完整后再识别)。
196.同理,每次语音识别服务器获得一个语音识别命令,且未获得和语音识别命令对应的预处理语音数据时,可以执行:
197.判断获得的语音识别命令携带的第二标识信息与目标缓存区内的语音缓存记录表中记录的各个第一标识信息是否匹配;
198.如果获得的语音识别命令携带的第二标识信息与语音缓存记录表的各个第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区,将获得的语音识别命令缓存至在目标缓存区,并在命令缓存记录表中记录语音识别命令携带的第二标识信息;
199.如果获得的语音识别命令携带的第二标识信息与语音缓存记录表的某个第一标识信息匹配,则说明该语音识别命令,和匹配的这个第一标识信息所对应的预处理语音数据属于同一客户端提出的同一次语音识别请求,于是可以基于该语音识别命令,对匹配的第一标识信息所对应的预处理语音数据进行语音识别(或者可以等确定该预处理语音数据所属预处理语音流完整后再识别)。
200.在一个具体的应用场景中,客户端可以响应于用户操作而开启语音助手软件,在t0时刻开始采集用户语音,经过2秒后,即到达t0 2s时,客户端将t0至t0 2s内采集的语音数据打包为一个语音数据片段(记为语音片段1)发给预处理服务器,语音片段1携带的第一标识信息包括语音标识soundid

1,客户端标识client

1,以及结束标记false(表示否,即该语音数据片段不是所属语音流的最后一个语音数据片段)。
201.预处理服务器收到语音片段1并处理后,得到对应的预处理语音数据片段(记为预处理片段1),然后向预处理语音数据片段中添加和处理前并将预处理片段1发给语音识别服务器,
202.以此类推,此后每隔2秒客户端就向预处理服务器发送最近2秒内的语音数据打包成的一个语音片段,相应的语音识别服务器会获得预处理服务器处理得到的预处理片段。
203.在t0 6s时,客户端发出语音片段3后(语音片段3的结束标记仍为false),向语音识别服务器发送语音识别命令,其中携带的第二标识信息包括语音标识soundid

1和客户端标识client

1。
204.可以理解的,语音识别服务器收到预处理片段1后,发现未获得第二标识信息和预处理片段1的第一标识信息匹配的语音识别命令,于是语音识别服务器将预处理片段1缓存至目标缓存区。同理,语音识别服务器收到预处理片段2后,也将其缓存在目标缓存区。
205.语音识别服务器获得预处理片段3后,同时收到了客户端的语音识别命令(记为命令1),经比对,确定出命令1第二标识信息,即语音标识soundid

1和客户端标识client

1,与预处理片段3的第一标识信息,即语音标识soundid

1和客户端标识client

1匹配。
206.随后,语音识别服务器识别预处理片段3的结束标记,识别出预处理片段3的结束标记为false后,确定预处理片段3所属的预处理语音流不完整,于是将命令1,和预处理片段3均缓存在目标缓存区中。
207.在t0 10s时,客户端结束语音采集,并发出最后一个语音片段,即t0 8s至t0 10s内采集到的语音片段5,语音片段5的第一标识信息包括语音标识soundid

1,客户端标识client

1,以及结束标记true。
208.语音识别服务器收到由语音片段5处理得到的预处理片段5后,通过其结束标记true,确定预处理片段所属的预处理语音流完整,于是从目标缓存区读取和预处理片段5属于同一预处理语音流的预处理片段1至4,将预处理片段1至5组成完整的预处理语音流,同时读取出对应的语音识别命令,即命令1。
209.最后,语音识别服务器基于命令1,对预处理片段1至5组成的预处理语音流进行语音识别,得到语音识别结果,将语音识别结果反馈给客户端。
210.可以理解的是,为了提高语音数据交互的安全性,本申请中语音识别服务器还可以获得预处理服务器针对该预处理语音数据发送的权限校验数据;如基于权限校验数据确认预处理服务器为不合法服务器,则丢弃预处理语音数据。如,在预处理服务器与语音识别服务器未处于同一局域网内的情况下,语音识别服务器需要从预处理服务器获取权限校验数据,并进行权限校验。
211.本申请实施例还提供一种处理装置,该处理装置可以应用于语音识别服务器,请参考图5,该处理装置可以包括:
212.语音获得单元501,用于获得预处理服务器发送的预处理语音数据。
213.预处理语音数据是预处理服务器处理客户端发送的语音数据得到的,预处理语音数据携带有表征客户端的第一标识信息。
214.命令获得单元502,用于获得客户端发送的语音识别命令,语音识别命令携带有第二标识信息。
215.识别单元503,用于如果第二标识信息与第一标识信息匹配,基于语音识别命令对预处理语音数据进行语音识别,得到语音识别结果。
216.反馈单元504,用于将语音识别结果返回给客户端。
217.可选的,该装置还可以包括:
218.缓存单元505,用于如果未获得与预处理语音数据对应的语音识别命令,将获得的预处理语音数据片段对应缓存至目标缓存区。
219.删除单元506,用于如果在预设时间段内未获得与预处理语音数据对应的语音识别命令,将缓存至目标缓存区的预处理语音数据片段删除。
220.识别单元503可以通过如下方法,基于语音识别命令对预处理语音数据进行语音
识别:
221.如果语音识别命令携带的第二标识信息与目标缓存区中缓存的预处理语音数据对应的第一标识信息匹配,基于语音识别命令对预处理语音数据进行语音识别。
222.可选的,缓存单元505还可以用于:
223.如果在获得语音识别命令之后未获得与语音识别命令对应的预处理语音数据,或,
224.如果获得的语音识别命令携带的第二标识信息与目标缓存区内缓存的预处理语音数据对应的第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区。
225.识别单元503还可以用于:
226.如果获得的预处理语音数据携带的第一标识信息与缓存区内缓存的语音识别命令的第二标识信息匹配,依据缓存区内匹配出的语音识别命令对预处理语音数据进行语音识别。
227.可选的,第一标识信息为表征客户端以及语音数据所属语音流的标识信息。
228.识别单元503可以通过如下方法,基于语音识别命令对预处理语音数据进行语音识别,得到语音识别结果:
229.基于语音识别命令对预处理语音数据以及属于语音流的其他预处理语音数据进行语音识别,其中,属于语音流的其他预处理语音数据为在预处理语音数据之后获得且携带有第一标识信息的预处理语音数据。
230.如果语音识别命令携带的第二标识信息与目标缓存区中缓存的预处理语音数据对应的第一标识信息匹配,基于语音识别命令对预处理语音数据进行语音识别的识别单元503,具体可以用于:
231.如果语音识别命令携带的第二标识信息与目标缓存区中缓存的预处理语音数据对应的第一标识信息匹配,确定预处理语音数据所属的预处理语音流是否完整,预处理语音流为预处理服务器处理语音数据所属的语音流得到的,预处理语音数据属于预处理语音流包括的多个预处理语音数据片段;
232.如确定预处理语音流完整,基于语音识别命令,对预处理语音流进行语音识别。
233.语音获得单元501还可以用于获得客户端指示的语音处理参考参数。
234.预处理语音数据为经过预处理且已转换为符合客户端指示的语音处理参考参数的语音数据。
235.识别单元503可以通过如下方法,基于语音识别命令对预处理语音数据进行语音识别:
236.从配置的多种语音识别算法中,确定与语音处理参考参数匹配的目标语音识别算法;
237.基于语音识别命令,并依据目标语音识别算法对预处理语音数据进行语音识别。
238.用于获得预处理服务器发送的预处理语音数据的语音获得单元501,具体可以用于:
239.获得至少一个预处理服务器发送的预处理语音数据。
240.用于获得客户端发送的语音识别命令的命令获得单元502,具体可以用于:
241.获得至少一个客户端发送的语音识别命令。
242.缓存单元503如果未获得与预处理语音数据对应的语音识别命令,将获得的预处理语音数据片段缓存至目标缓存区时,可以执行:
243.如果获得的预处理语音数据携带的第一标识信息与目标缓存区内的命令缓存记录表中记录的至少一个第二标识信息不匹配,将获得的预处理语音数据缓存至目标缓存区,并在目标缓存区的语音缓存记录表中记录预处理语音数据携带的第一标识信息;
244.缓存单元503如果获得的语音识别命令携带的第二标识信息与目标缓存区内缓存的预处理语音数据对应的第一标识信息不匹配,将获得的语音识别命令缓存至目标缓存区时,可以执行:
245.如果获得的语音识别命令携带的第二标识信息与语音缓存记录表中记录的至少一个第一标识信息不匹配,将获得的语音识别命令缓存至在目标缓存区,并在命令缓存记录表中记录语音识别命令携带的第二标识信息。
246.本申请实施例还提供一种处理装置,该处理装置可以应用于客户端,请参考图6,该处理装置可以包括:
247.获得单元601,用于获得采集到的语音数据。
248.语音发送单元602,用于向预处理服务器发送携带有标识信息的语音数据,以使得预处理服务器处理语音数据,并将处理得到的预处理语音数据以及标识信息发送给语音识别服务器,标识信息用于标识获得语音数据的客户端。
249.命令发送单元603,用于向语音识别服务器发送携带有标识信息的语音识别命令,语音识别命令用于指示对携带有标识信息的语音数据进行语音识别。
250.如图5所示的实施例提供的处理装置的具体工作原理,可以参考前述处理方法中由语音识别服务器所执行的各个步骤,如图6所示的实施例提供的处理装置的具体工作原理,可以参考前述处理方法中由客户端执行的各个步骤,此处不再赘述。
251.本申请实施例提供一种处理装置,语音获得单元501获得预处理服务器发送的预处理语音数据,预处理语音数据是预处理服务器处理客户端发送的语音数据得到的,预处理语音数据携带有表征客户端的第一标识信息;命令获得单元502获得客户端发送的语音识别命令,语音识别命令携带有第二标识信息;如果第二标识信息与第一标识信息匹配,识别单元503基于语音识别命令对预处理语音数据进行语音识别,得到语音识别结果;反馈单元504将语音识别结果返回给客户端。本方案中,预处理语音数据由预处理服务器直接传输至语音识别服务器,语音识别服务器能够更快的进行语音识别,从而改善语音识别的实时性。
252.本申请实施例还提供一种计算机存储介质,用于存储计算机程序,该计算机程序被执行时,用于实现本申请任一实施例所提供的处理方法。
253.本申请实施例还提供一种电子设备,如图7所示,该电子设备包括存储器701和处理器702。
254.其中,存储器701用于存储计算机程序。
255.处理器702用于执行上述计算机程序,以实现本申请任一实施例所提供的处理方法。
256.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
257.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜