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

语音服务访问方法、系统和车辆与流程

2022-07-10 14:59:39 来源:中国专利 TAG:


1.本公开语音服务领域,尤其涉及一种语音服务访问方法、系统和车辆。


背景技术:

2.提供智能语音服务现已成为各类新车的标配。有些国外的车辆厂商会优先选择与国外的大型语音服务提供商合作,使得车辆能够接入该服务提供商的语音服务,从而为乘车人员提供便利。
3.当这些国外的车辆厂商进行车辆的本土化改造时,则通常需要接入国内的语音服务提供商,以提供更符合当地民众需求的语音服务。虽然可以配置一套全新的车载语音系统来代替之前的车载语音系统,但这样做是耗时且高成本的。
4.为此,需要一种能够方便进行新语音服务访问的方案。


技术实现要素:

5.本公开要解决的一个技术问题是提供一种语音服务访问方案,该方案能够通过极小的改动来利用现有的语音服务体系来快速接入另一语音服务体系,由此兼容新的语音服务体系,并且能够进行持续迭代更新。
6.根据本公开的第一个方面,提供了一种语音服务访问方法,包括:将针对第一语音服务的访问修改为包括针对第二语音服务的访问;访问第二语音服务的授权服务并获取用户授权;以及基于用户授权,建立与所述第二语音服务的连接。该方案可以基于第一语音服务的语音服务体系执行,例如修改第一语音服务的设备sdk。
7.根据本公开的第二个方面,提供了一种使用装载了第一语音服务的语音服务体系的终端访问语音服务的方法,包括:获取语音输入;基于将针对第一语音服务的访问修改为包括针对第二语音服务的访问的网关配置,通过所述语音服务体系的通信库组件将所述语音输入上传给所述第二语音服务;以及获取所述第二语音服务基于上传的语音输入下发的反馈指令;以及根据反馈指令,经由所述语音服务体系的能力代理组件调取具备相应能力的组件进行反馈。
8.根据本公开的第三个方面,提供了一种语音服务访问系统,包括:第一语音服务的语音服务体系模块,用于获取语音输入,并基于所述语音输入给出对应反馈;以及网关设置补丁模块,用于将针对第一语音服务的访问修改为包括针对第二语音服务的访问;鉴权委托补丁模块,用于访问第二语音服务的授权服务并获取用户授权,其中,所述系统能够基于用户授权,建立与所述第二语音服务的连接。
9.根据本公开的第四个方面,提供了一种终端,包括:麦克风,用于接收语音输入;如第三方面所述的语音服务访问系统,用于提供所述第二语音服务针对语音输入下发的反馈指令;动作设备,用于基于所述反馈指令,进行相应的操作。
10.根据本公开的第五个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一和第二方面
所述的方法。
11.根据本公开的第六个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一和第二方面所述的方法。
12.由此,本发明的语音服务服务方法能够在已有的第一语音服务sdk上进行最小量的修改,使其可通过第二语音服务的鉴权体系正常访问的第二语音服务服务。第二语音服务能兼容第一语音服务的协议,做到上行、下行的协议均与第一语音服务保持一致,还能够在第一语音服务sdk已有功能上扩充第二语音服务的独有功能。上述改动可以通过git打包成补丁对外提供,各补丁之间独立,由此提供模块化修改并且易于更新迭代。
附图说明
13.通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
14.图1示出了根据本发明一个实施例的语音服务访问方法的示意性流程图。
15.图2示出了第一语音服务设备sdk的架构的一个例子。
16.图3示出了根据本发明修改的第一语音服务设备sdk的架构的一个例子。
17.图4示出了并入了本发明的第二语音服务补丁扩展的第一语音服务车辆sdk的组成示意图。
18.图5示出了根据本发明一个实施例的终端访问语音服务的方法的示意性流程图。
19.图6示出了根据本发明一个实施例的语音服务访问系统的组成示意图。
20.图7示出了根据本发明访问语音服务的终端的组成示意图。
21.图8示出了根据本发明一个实施例可用于实现上述语音访问方法的计算设备的结构示意图。
具体实施方式
22.下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
23.提供智能语音服务现已成为各类新车的标配。有些国外的车辆厂商会优先选择与国外的大型语音服务提供商合作,使得车辆能够接入该服务提供商的语音服务,从而为乘车人员提供便利。
24.当这些国外的车辆厂商进行车辆的本土化改造时,则通常需要接入国内的语音服务提供商,以提供更符合当地民众需求的语音服务。虽然可以配置一套全新的车载语音系统来代替之前的车载语音系统,但这样做是耗时且高成本的。
25.为此,本发明旨在提供一种语音服务访问方案,该方案能够通过极小的改动来利用现有的语音服务体系来快速接入另一语音服务体系,由此兼容新的语音服务体系,并且能够进行持续迭代更新。
26.图1示出了根据本发明一个实施例的语音服务访问方法的示意性流程图。该方法可以看作是针对现有语音服务体系的修改,例如,针对语音服务设备skd的修改,在某些情况下也可以看作是在终端(例如,车辆)上的实际操作。
27.在步骤s110,可以将针对第一语音服务的访问修改为包括针对第二语音服务的访问。在此,第一语音服务可以是设备要内置或是已经内置的服务,并且可以通过安装第一语音服务的语音服务体系实现。为了实现在第一语音服务的语音服务体系内实现对第二语音服务的访问,首先需要修改网关设置,使得在发起语音服务访问请求时,可以将对第二语音服务的访问作为对第一语音服务访问的补充或者代替。
28.在此,“第一”和“第二”仅用于对同类事物的不同对象进行区分,而非暗示其重要程度或先后次序。进一步地,“语音服务”可以指代通过获取语音(例如,用户输入的语音)并理解其背后含义(包括语音本身的语义以及基于上下文或是交互历史等推断出的含义),而给出相应反馈或反馈指令的服务。语音服务往往需要强大的语音识别、语义理解和相应的例如信息查找等能力,因此通常需要依托于云端服务器。在此,“第一语音服务”和“第二语音服务”也可以分别指代“第一云端语音服务”和“第二云端语音服务”。
29.现有的各大互联网厂商都会提供自己的语音服务。随后,为了方便描述,也可以将第一语音服务和第二语音服务简称为a服务和b服务,或者avs(a voice service)和bvs(b voice service)加以区分。应该理解的是,在此使用“a”和“b”同样仅用于对同类事物的不同对象进行区分,而非对语音服务名称的任何暗示。
30.随后,在步骤s120,访问第二语音服务的授权服务并获取用户授权。在如步骤s110所述能够访问(例如,寻址)到第二语音服务之后,还需要使得第二语音服务能够为用户提供服务。此时,可以使得第一语音服务的语音服务体系能够获取到第二语音服务的服务许可。为此,可以访问第二语音服务的授权服务,并且通过的操作获取用户授权。具体地,显示使得用户能够进行绑定第二语音服务账户的操作。例如,授权服务可以显示第二语音服务的账户和密码栏,并且用户可以通过输入账户和密码验证身份,并进行账户绑定。在一个实施例中,还可以显示访问授权服务获取到的二维码,用户可以通过例如打开智能电话上第二语音服务提供商的app扫描二维码来进行绑定。在此,对获取用户授权的方式不做限制。
31.在步骤s130,基于用户授权,建立与所述第二语音服务的连接。在进行账户绑定之后,可以获取第二语音服务提供的授权令牌,于是,可以基于第二语音服务的授权令牌,与所述第二语音服务建立长连接,例如,http/2长连接。由于云端语音服务通常能够提供各类语音服务,不同于需要时常进行重连的短连接,长连接可以依据令牌有效期进行与第二语音服务的长期连接。在http/2中,客户端向某个域名的服务器请求服务的过程中,只会创建一条连接,即使该服务涉及上百个资源。单一的连接能减少握手带来的时延,提升信息获取效率并且降低服务器端的连接数量。
32.如前所述,可以在第一语音服务的语音服务体系中执行所述语音服务访问方法。在此,语音服务体系可以指代设备sdk(在具体安装在终端上之前),也可以指代用于提供语音服务的一系列软硬件配置(在具体安装在终端上之后)。
33.本发明可以通过针对第一语音服务设备sdk的一系列最小化改动,使其能够无缝接入第二语音服务,并且方便进行迭代更新。
34.为了方便对本发明原理进行理解,在此将结合图2(以及后续图3)描述语音服务设
备sdk的组成和相应功能。图2示出了第一语音服务设备sdk的架构的一个例子。
35.avs设备sdk提供了一组库(例如,c 库)用于构建内置a服务(即,第一语音服务)的产品。使用这些库,设备可以直接访问基于云端的a服务功能,以立即接收语音响应。使用该套skd的设备可以是智能手表、扬声器、耳机,甚至是车辆。
36.sdk是模块化和抽象的。它提供了单独的组件来处理必需的a服务的功能,包括处理音频,维护持久连接和管理与a服务的交互。每个组件均公开a服务的api,以根据需要自定义设备集成。sdk还包括一个示例应用程序,用于在集成之前测试交互。
37.图2说明了sdk的组件以及组件之间的数据流向。深色框是sdk的正式组件(源组件),并且包括以下各项:
38.音频输入处理器(audio input processor,aip)
39.共享数据流(shared data stream,sds)
40.通讯库(communication library,cl)
41.指令定序器库(directive sequencer library,dsl)
42.活动焦点管理器库(activity focus manager library,afml)
43.能力代理(capability agent,ca)
44.非官方组件(第三方二进制组件)取决于外部库,并且包括以下各项:
45.音频信号处理器(asp)
46.唤醒词引擎(wake word engine,wwe)
47.媒体播放器
48.如下将结合一个例子说明如上组件的功能及其交互。
49.例如,用户说出:“xxxx(唤醒词),天气如何?”50.此时,麦克风捕获音频并将其写入sds。
51.wwe一直在监视sds。当wwe检测到唤醒词xxxx时,它将音频发送到aip。
52.aip使用cl将speechrecognizer(语音识别器)事件发送到avs。
53.avs处理事件,并通过cl将适当的指令(在此例中为天气查询结果)发送回去。然后,sds提取指令并将其发送到dsl。
54.dsl检查有效负载的标头,并确定它必须调用的功能代理。
55.当ca激活时,它会向afml请求焦点。在此例中,需要使用媒体播放器的能力来进行语音反馈。
56.于是,媒体播放器播放指令。在此示例中,语音服务回答“天气为9度,多云,可能会下雨”。
57.如下将描述各个组件的详细功能。
58.音频信号处理器(asp)
59.asp实际上不是avs设备sdk的组件。它是驻留在芯片(soc)上的软件或是专用数字信号处理器(dsp)上的固件。它的工作是处理音频并创建单个音频流,即使设备使用多麦克风阵列也是如此。用于处理音频的技术包括回声消除(aec)、噪声抑制、波束形成、语音活动检测(vad)、动态范围压缩(drc)和均衡。
60.共享数据流(sds)
61.sds组件是单生产者-多消费者的音频输入缓冲区,可在一个写入器和一个或多个
读取器之间传输数据。该环形缓冲区可在不重复的情况下将数据移动到sdk的不同组件中。该过程可以不断覆盖自身,因此可以最大程度地减少内存占用。sds在特定于产品和用户指定的内存段上运行,从而允许进程间通信。写入器和读取器可能处于不同的线程或进程中。
62.sds处理以下关键任务:
63.从asp接收音频,然后将其传递给wwe。
64.将音频从wwe引擎传递到cl。cl随后可将音频传递给avs进行处理。
65.从acl接收数据附件,并将其传递给适当的能力代理。
66.唤醒词引擎(wwe)
67.wwe是持续监视sds,等待预配置唤醒字的软件。当wwe检测到正确的唤醒字时,它将通知aip开始读取音频。使用avs设备sdk时,唤醒词可以始终为“xxxx”。该sdk包含用于特定唤醒词引擎的连接器,但也可以根据需要使其任何其他的唤醒词引擎。
68.wwe由以下两个二进制接口组成。
69.接口1

处理常规唤醒字检测。
70.接口2

处理特定的唤醒字模型。
71.应该注意的是,wwe操作不是必须的。第一语音服务的语音服务体系还可以通过“点击通话”或操作配套app激活。
72.音频输入处理器(aip)
73.aip的职责包括从sds读取音频,然后将其发送到avs进行处理。aip还包括在不同音频输入源之间切换的逻辑。aip使用以下输入触发:
74.外部音频

使用设备上的麦克风,远程麦克风和其他音频输入源捕获。
75.点击通话-用指定的点击通话输入捕获。
76.语音指令

从avs发送,以继续进行交互。例如,多轮对话。
77.触发后,aip继续运行音频流,直到收到stop指令或超时。avs在任何给定时间只能接收一个音频输入源。
78.通讯库(cl)
79.cl管理sdk和avs之间的网络连接。cl执行以下主要功能:
80.与avs建立并维护长期的持久连接。
81.提供消息发送和接收功能。这些功能包括支持json格式的文本和二进制音频内容。将传入指令转发到adsl。
82.处理断开连接和重新连接。如果设备断开连接,它将自动尝试重新连接。
83.管理安全连接。
84.指令定序器库(dsl)
85.如avs交互模型中所述,dsl管理器处理传入的指令。cl执行以下主要功能:
86.接受来自cl的指令。
87.管理每个指令的生命周期,包括根据需要对指令进行排队,重新排序或取消。
88.通过检查指令头并读取接口的名称空间,将指令转发到适当的功能代理。
89.能力代理(ca)
90.功能代理是在设备上执行所需操作的代理。它们直接映射到avs支持的接口。例如,如果您要求第一语音服务播放歌曲,则功能代理将歌曲加载到媒体播放器中并进行播
放。功能代理执行以下两项任务:
91.从dsl接收适当的指令。
92.读取有效负载并在设备上执行请求的操作。
93.活动焦点管理器库(afml)
94.afml确保sdk以正确的顺序处理指令。它确定哪种功能可以随时控制设备的输入和输出。例如,如果您正在播放音乐,并且设备上的闹钟响了,则闹钟将会夺取注意力。因此,音乐暂停,闹钟响起。
95.焦点使用称为通道的概念来管理视听输入和输出的优先级。
96.通道存在于前景或背景中。在任何给定时间,只有一个通道可以继承前台状态并获得焦点。如果有多个通道处于活动状态,则设备必须遵循以下优先级顺序:“对话框”》“闹钟”》“内容”。当前景中的某个通道变为非活动状态时,优先级顺序中的下一个活动通道将移入前景。
97.焦点管理并不特定于能力代理或指令处理程序。与a服务无关的代理也可以使用它。焦点管理通过使用afml使所有代理在整个设备上具有一致的焦点。
98.媒体播放器
99.媒体播放器实际上不是avs设备sdk的组件。该sdk使用了特定包装。如果要使用其他媒体播放器,则必须使用mediaplayer界面为其构建包装。
100.如上结合图2示出了第一语音服务(a服务)设备sdk(也可称为avs设备sdk的架构例。本发明可以通过对该sdk架构的最小修改,实现经由avs设备sdk对第二语音服务(即,b服务)的顺畅访问。
101.首先需要使得该sdk具备访问b服务(即,bvs)的能力。为此,通过修改所述语音服务体系中的通信库组件(例如,图2所示sdk架构中的cl组件),将针对第一语音服务的访问修改为针对第二语音服务的访问,以及访问第二语音服务的授权服务。具体地,可以修改cl组件的网关设置,使其能够在接收到语音输入时访问bvs(可以作为访问avs的补充,也可以作为访问bvs的代替)。随后,可以修改使得该sdk的鉴权模型的接口(authdelegateinterface,鉴权委托接口)访问bvs的鉴权服务,通过bvs的校验并进行后续的正常访问。在下文中将结合图3描述鉴权的具体实现。
102.进一步地,为了在avs设备sdk的已有功能上,扩充第二语音服务的独有功能,可以对avs的能力代理组件(图2中的ca)进行修改。为此,本发明的语音服务访问方法还可以使用所述第二语音服务的能力代理组件来对接所述第一语音服务的能力代理组件。随后,可以经由所述第二语音服务的能力代理组件透出的接口,添加至少一个特定能力组件。例如,可以按需添加购物、导航或是外卖能力。
103.在如上所述经由avs设备sdk建立与bvs的连接之后,cl组件可以经由bvs协议(即,由第二语音服务规定的服务获取协议)与bvs通信。例如,将用户输入的音频经由cl发送给bvs。bvs可以对上述音频进行处理,并下发基于上传语音的反馈指令。经修改的avs设备sdk可以获取上述反馈指令,并且根据反馈指令,经由avs的ca组件调取具备相应能力的组件进行反馈,例如,调取媒体播放器进行语音反馈。在此,调取能力组件还可以包括调取添加的所述至少一个特定能力组件。例如,在用户输入导航类查询时,调取导航能力组件,并显示相应的导航界面。
104.为了更好地理解本发明的语音服务访问方法,图3示出了根据本发明修改的第一语音服务设备sdk的架构的一个例子。
105.在例如对cl的网关配置进行修改之后,可以在已有的avs设备sdk上进行修改,使其可以通过bvs的鉴权体系访问bvs。上述功能可由图3中添加的qrcodeauthdelegate(二维码鉴权委托)模块实现。该模块可以实现为一个patch(补丁)。即,avs设备sdk中的鉴权模块是只定义了接口(authdelegateinterface),因此,为了让avs sdk可以通过bvs校验并正常访问,可以通过向sdl打上qrcodeauthdeletage补丁实现,在打上补丁之后,sdk则可采用该添加的鉴权模块进行鉴权(例如,默认用添加鉴权模块所定义的鉴权方式鉴权),由此可以按照bvs的流程来完成授权。
106.在一个具体实施例中,在添加了上述模块(补丁)之后,安装了avs体系的终端在实际操作时,为了接入bvs可以进行如下鉴权委托操作:
107.1.sdk访问tvs授权服务,获取到二维码,并展示给用户。
108.2.用户用第二语音服务的对应手机app(或平板app)扫描上述二维码以进行绑定。例如,用户打开对应app,点击“扫一扫”,并扫描上述二维码,手机于是显示与avs设备绑定的确认界面,用户随后点击确认,并完成绑定。
109.3.绑定操作期间sdk会轮询查询绑定结果,绑定成功后,sdk可以拿到授权令牌(token)。
110.4.sdk用授权令牌与bvs建立http2长连接,用于后续的事件上行与接收下行指令。
111.在实际应用中,可以根据需要规定授权令牌的有效期。例如,可以规定授权令牌具有30天有效期,90天内可静默刷新,超过90则需重新登陆。
112.由此,如图3所示,通过在已有avs设备sdk上进行修改,使其可以通过第二语音服务的鉴权体系,并经由bvs协议正常访问bvs。
113.进一步地,通过将bvs的ca与avs的ca进行对接,例如,向avs的ca打入bvs ca补丁,可以将bvs的ca实现为在avs的ca上进行的扩展,由此扩展出avs现在不具备的领域,比如导航、购物和外卖,这些领域能力会以接口的形式透出,比如navigationinterface(导航接口)、shopinterface(购物接口)等。在需要增加特定领域能力的时候,就可以通过例如补丁的形式增加对应的能力模块。如图3所示,在添加了bvs ca补丁之后,可以向外透出bvs所支持的能力(例如,购物和导航能力),此时,可以添加bmap navigationhandler(b地图导航处理程序)模块来提供导航能力,通过添加购物能力代理模块来提供购物能力。另外,还可以基于透出的接口,根据实际需求添加更多的能力。
114.应该注意到的是,不同于完整的“购物能力代理模块”,添加的导航模块是“bmap navigationhandler”,而非b地图能力代理模块。这是因为使用b地图导航还需要外接b地图的服务。为此,本发明的服务访问方法还可以包括使用所述至少一个特定能力组件对接相应能力的外部服务,如图3所示,经由“bmap navigationhandler”模块对接外部的b地图服务。在此,b地图服务可以是由第二语音服务所提供的地图导航服务,该地图导航服务可以是第二语音服务的一部分,或与其具有合作关系。
115.进一步地,在对接了bvs之后,还可以通过外接声学服务(例如,图3所示的b声学方案)来实现b服务唤醒词的引入以及对音频信号的处理。为此,该方法还可以包括:使用外部声学服务对接所述第一语音服务的唤醒词引擎,用于:提供关键字检测(例如,可以识别“yyyy(b服务唤醒词)”;和/或提供音频信号处理,例如,降噪和回声消除。
116.在此,“b方案”和“b地图”可以以插件的形式添加。所谓“b方案”插件,就是用b声学方案(例如,某一声学厂商提供的声学服务)提供的上述能力来实现sdk中的wwe接口(keyworddetectorprovider,关键词检测提供程序),并在初始化sdk时,将其设置到sdk中供sdk调用。由于这是在接入时按需选择设置的,因此可以认为是插件形式。
117.由此,可以avs设备sdk已有的功能上,扩充了b服务的独有功能,同时对外以接口形式透出,后续一旦avs也有类似的功能,可在sdk内部进行中转透出,保证用户使用的无变化。
118.在一个实施例中,可以将将改动通过git打包成补丁并对外提供,接入方只需打入补丁即可访问bvs服务。具体地,补丁的修改点可以保持模块化(除了少部分配置部分的修改),后续在兼容新的avs设备sdk版本时,可以做到批量修改,模块之间高内聚,低耦合,以适配更多的avs版本。为此,可以以独立补丁的方式实现如下至少一项:将针对第一语音服务的访问修改为包括针对第二语音服务的访问;访问第二语音服务的授权服务并获取用户授权;使用所述第二语音服务的能力代理组件来对接所述第一语音服务的能力代理组件;以及经由所述第二语音服务的能力代理组件透出的接口,添加至少一个特定能力组件。进一步地,该方法还可以包括:基于第一语音服务的语音服务体系的升级,更新所述独立补丁中的一个或多个补丁。
119.如上所述的avs设备sdk尤其可以适用于为车辆提供语音服务。此时,avs设备sdk就可以进一步细化为车辆sdk。该sdk在包括avs设备sdk的基础上,还可以包括用于车辆控制的各个组件。图4示出了并入了本发明bvs补丁扩展的avs车辆sdk的组成示意图。
120.如图所示,除了包括dsl、aip、ca、afml、sds和cl的avs设备sdk之外,车辆sdk还可以包括导航、联系人/地址簿、电话和车辆控制以及apl/智能屏等适配车辆功能的组件。除了上述组件之外,还可以包括基于本发明的bvs补丁扩展。在此,“gateway config(网关配置可以)”对应于bvs_basic.patch。该补丁是用于访问bvs的基础,通过修改网关配置,使得avs sdk能够用于访问tvs。“qrcode authdelegate(二维码鉴权委托)”对应于bvs_auth.patch。该补丁用于授权,可以使得avs sdk能够获取到bvs的令牌。应该理解的是,也可以使用二维码之外的其他方式来完成鉴权。“bvs capability agent(b服务能力代理)”对应于bvs_ca.patch。该补丁用于能力接口透出,使得能够通过添加能力补丁来获取相应能力。“bmap navigation(b地图导航)”就是一个在ca补丁的基础上添加的具体能力补丁,对应于bvs_navigation.patch。该补丁用于导航,例如通过如图3所示外接b服务(插件形式),让avs sdk可以具备bvs的导航能力。
121.每个功能模块都可以优选是对应于一个补丁的独立存在,因此可以按需集成到avs sdk中。各个补丁可以独立添加,打包其与avs设备sdk的相互关系是固定的。
122.考虑到第一语音服务也会对其sdk进行迭代升级,因此补丁需要具有兼容升级版本的适配能力。为此,每个补丁都可以带有其适用的版本号,例如带有版本号标识,来标识其可使用的版本。
123.如下将结合一个例子说明添加了图4补丁扩展后的avs车辆sdk的功能及其交互。
124.例如,用户说出:“yyyy(唤醒词),到zz郊野公园怎么走?”125.此时,麦克风捕获音频并将其写入sds。
126.wwe一直在监视sds。由于wwe外接了b方案,因此可以识别b服务的唤醒词。当wwe检测到唤醒词yyyy时,它将音频发送到aip。
127.aip使用cl将speechrecognizer(语音识别器)事件发送到bvs(首次使用时还需要鉴权账户绑定)。
128.avs处理事件,并通过cl将适当的指令(在此例中为地图查询结果)发送回去。然后,sds提取指令并将其发送到dsl。
129.dsl检查有效负载的标头,并确定它必须调用的功能代理。
130.当ca激活时,它会向afml请求焦点。在此例中,需要使用媒体播放器的能力来进行语音反馈,以及需要额外添加的b地图补丁来外接b地图服务。
131.于是,媒体播放器播放指令。在此示例中,语音服务回答“到zz郊野公园需要开车1小时”。同时,车载显示器可以显示载入的b地图导航结果,显示从当前位置到zz郊野公园的行车路线(例如,一条优选和多条候选路线)。此时,用户可以通过选择一条路线之后开启导航。由此,使得用户能够在avs协议的基础上使用第二语音服务,同时做到上下行协议均与avs保持一致。
132.另外,应该理解的是,在接入了bvs的服务之后,可以根据设置将所有语音服务需求都导向bvs,可以具备同时提供avs和bvs服务的功能。
133.在所有语音服务需求都导向bvs的情况下,无论用户使用何种唤醒词(xxxx或yyyy),唤醒之后的语音输入都被发送给bvs,并通过bvs的反馈进行操作。
134.而在选择性的导向avs或bvs的情况下,可以基于多个方式进行avs和bvs的选择。在一个实施例中,可以根据用户使用的唤醒词(是xxxx还是yyyy)来选择默认的语音服务。例如,用户使用xxxx,则连接avs获取语音服务,使用yyyy,则连接bvs获取语音方法。作为替换或者补充,还可以针对用户语音输入所涉及的能力来选择相应服务。
135.如上已经结合图1-4描述了根据本发明的语音服务访问方法。该方法尤其可以通过针对现有avs设备sdk(进一步地,avs车辆sdk)的修改来实现针对bvs的访问。在其他实施例中,本发明还可以直接实现为一种终端(例如,车辆)访问语音访问的方法。
136.图5示出了根据本发明一个实施例的终端访问语音服务的方法的示意性流程图。该终端装载了第一语音服务的语音服务体系。例如,某品牌某型号车辆装载了avs车辆sdk中至少必要组件。本发明可以通过如下方法,在终端上实现对bvs的访问。
137.在步骤s510,获取语音输入。在步骤s520,基于将针对第一语音服务的访问修改为包括针对第二语音服务的访问的网关配置,通过所述语音服务体系的通信库组件将所述语音输入上传给所述第二语音服务。在步骤s530,获取所述第二语音服务基于上传的语音输入下发的反馈指令。在步骤s540,根据反馈指令,经由所述语音服务体系的能力代理组件调取具备相应能力的组件进行反馈。
138.在进行bvs访问之前,还需要获取bvs的用户授权。此时,该方法还可以包括:基于鉴权委托配置,访问第二语音服务的授权服务;显示授权页面;以及基于获取的用户授权,与所述第二语音服务建立连接。
139.上述授权可以是通过输入账户和密码的授权,也可以是更为方便的二维码授权。为此,显示授权页面包括:显示用于关联所述用户的第二语音服务账户的二维码,其中,基于所述用户对所述二维码的扫描和账户绑定确认,获取所述用户授权。
140.进一步地,可以基于bvs对能力代理进行扩展。为此,调取具备相应能力的组件可以包括:调取具备基于所述第二语音服务添加的特定能力的组件,其中,基于能力代理配置,使用所述第二语音服务的能力代理组件来对接所述第一语音服务的能力代理组件;并且基于特定能力添加配置,经由所述第二语音服务的能力代理组件透出的接口,添加所述特定能力组件。
141.类似地,上述配置可以彼此独立的补丁方式实现。即,可以以独立补丁的方式实现如下至少一项:网关配置;鉴权委托配置;能力代理配置;以及特定能力添加配置。
142.进一步地,该方法还可以包括:使用所述第二语音服务的唤醒词,唤醒所述语音服务体系,其中,使用外部声学服务对接所述第一语音服务的唤醒词引擎,用于提供针对所述第二语音服务唤醒词的关键字检测。
143.如前所述,该终端尤其可以实现为车辆。例如预装载avs车辆sdk的车辆,可以通过打入补丁,实现对bvs服务的无缝访问。在其他实施例中,该终端也可以是预先装载了avs设备sdk的其他终端,例如智能手表、智能家居设备等。
144.进一步地,本发明还可以实现为语音服务访问系统。图6示出了根据本发明一个实施例的语音服务访问系统的组成示意图。该语音服务访问系统可以被装载在各类终端上,以提供经由avs对bvs的访问。
145.如图所示,系统600包括第一语音服务的语音服务体系模块,例如avs sdk 610、网关设置补丁模块620和鉴权委托补丁模块630。
146.其中,avs sdk 610用于提供基础语音服务功能,并且可以由此获取语音输入,并基于所述语音输入给出对应反馈。网关设置补丁模块620则用于将针对第一语音服务的访问修改为包括针对第二语音服务的访问。鉴权委托补丁模块630用于访问第二语音服务的授权服务并获取用户授权。
147.所述系统能够基于用户授权,建立与所述第二语音服务的连接,并获取相应的语音服务。
148.进一步地,为了实现能力扩展,该系统还可以包括:能力代理补丁模块,用于使用所述第二语音服务的能力代理组件来对接所述第一语音服务的能力代理组件;至少一个特定能力添加补丁模块,用于经由所述第二语音服务的能力代理组件透出的接口,添加至少一个特定能力组件。由此,该系统能够基于第二语音服务对获取语音输入的反馈指令,调用所述至少一个特定能力组件。例如,当用户输入语音中包括获取导航信息的语义时,使用添加的导航能力来进行导航。
149.进一步地,本发明还可以实现为一种终端。图7示出了根据本发明访问语音服务的终端的组成示意图。该终端700尤其可以实现为车辆。
150.在此,终端700可以包括麦克风710、如图6所示的语音服务访问系统720和动作设备730。
151.麦克风710用于接收语音输入。语音服务访问系统720用于提供所述第二语音服务针对语音输入下发的反馈指令。动作设备730用于基于所述反馈指令,进行相应的操作。
152.根据不同的反馈,可以进行不同的动作。具体地,动作设备可以包括:扬声器,用于基于所述反馈指令,进行相应的语音输出;终端控制设备,用于基于所述反馈指令,进行相应的终端控制操作(例如,打开车窗、调低空调温度等);和/或显示器,用于基于所述反馈指
令,显示对应于至少一种特定能力的页面(例如,显示购物或导航页面等)。
153.图8示出了根据本发明一个实施例可用于实现上述语音访问方法的计算设备的结构示意图。
154.参见图8,计算设备800包括存储器810和处理器820。
155.处理器820可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器820可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器820可以使用定制的电路实现,例如特定用途集成电路(asic,application specific integrated circuit)或者现场可编程逻辑门阵列(fpga,field programmable gate arrays)。
156.存储器810可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器820或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器810可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器810可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
157.存储器810上存储有可执行代码,当可执行代码被处理器820处理时,可以使处理器820执行上文述及的语音服务访问方法。
158.上文中已经参考附图详细描述了根据本发明的语音服务服务方案。该方案提供在已有的avs sdk上进行最小量的修改,使其可通过第二语音服务的鉴权体系正常访问的bvs服务。bvs能兼容avs的协议,做到上行、下行的协议均与avs保持一致,还能够在avs sdk已有功能上扩充bvs独有功能。上述改动可以通过git打包成补丁对外提供,各补丁之间独立,由此提供模块化修改并且易于更新迭代。
159.此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
160.或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
161.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
162.附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实
现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
163.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献