CN107657031A - 基于Android***管理智能音箱语音技能的方法 - Google Patents
基于Android***管理智能音箱语音技能的方法 Download PDFInfo
- Publication number
- CN107657031A CN107657031A CN201710896939.4A CN201710896939A CN107657031A CN 107657031 A CN107657031 A CN 107657031A CN 201710896939 A CN201710896939 A CN 201710896939A CN 107657031 A CN107657031 A CN 107657031A
- Authority
- CN
- China
- Prior art keywords
- technical ability
- voice
- voice technical
- speech engine
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 33
- 230000007423 decrease Effects 0.000 claims abstract description 8
- 238000005516 engineering process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明属于软件设计领域,其公开了一种基于Android***管理智能音箱语音技能的方法,解决传统技术中语音技能不能独立更新、不能动态增减,代码庞大且管理难度大的问题。本发明将语音引擎与语音技能设计为独立的应用程序;为语音技能定义父类服务,父类服务定义通讯接口;语音技能继承父类服务并实现通讯接口;语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务;语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能。
Description
技术领域
本发明属于软件设计领域,具体涉及基于Android***管理智能音箱语音技能的方法。
背景技术
智能音箱在2017年呈现爆发式增长,并成为人工智能的必争入口;目前智能音箱主要采用两种***,即Linux和Android;Android***作为一种智能***已经被成功的应用于手机、平板、电视等设备,为了保持技术和产品的继承性,将其它智能设备中的技术和产品直接应用于智能音箱,那么智能音箱搭载Android***是非常好的选择。
基于Android***的智能音箱,语音引擎与语音技能通常是不同方案商提供的,在语音识别后需要执行相应的语音技能;目前常用的做法是将语音引擎和语音技能整合为一个应用程序,但这种方式导致语音技能不能独立更新、语音技能不能动态增减,同时应用代码变得庞大、而语音引擎和语音技能通常不是同一个开发人员、代码管理难度大。
发明内容
本发明所要解决的技术问题是:提出一种基于Android***管理智能音箱语音技能的方法,解决传统技术中语音技能不能独立更新、不能动态增减,代码庞大且管理难度大的问题。
本发明解决其技术问题所采用的技术方案是:
基于Android***管理智能音箱语音技能的方法,包括:
a.将语音引擎与语音技能设计为独立的应用程序;
b.为语音技能定义父类服务,父类服务定义通讯接口;
c.语音技能继承父类服务并实现通讯接口;
d.语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务;
e.语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能。
作为进一步优化,步骤b中,为语音技能定义父类服务,父类服务定义通讯接口;具体包括:采用Android的AIDL语言设计父类服务跨进程的通讯接口,语音引擎在绑定语音技能后,通过注册跨进程的回调接口,语音技能就可以通过回调接口的方法向语音引擎发信息;语音引擎在语音识别后,通过通讯接口将语音指令发送给指定的语音技能,语音技能收到指令后执行相应的业务逻辑。
作为进一步优化,步骤c中,所述语音技能继承语音技能父类服务,并实现通讯接口,具体包括:
语音技能作为一个服务必须在其AndroidManifest.xml中进行声明;声明的内容主要包含:声明用于绑定语音技能的Action,对于所有的语音技能这个值都是一样的,它也是用于语音引擎发现语音技能的参数;声明用于区分语音技能类型的Meta-data。
作为进一步优化,步骤d中,语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务,具体包括:
在智能音箱启动以及语音技能更新、增减后,语音引擎会获取语音技能以及其类型;获取语音技能的方法是:通过Android***的PackageManager获得AndroidManifest.xml中声明了Action为特定值的服务即为语音技能;判别语音技能类型的方法是解析语音技能的注册信息,获取表示语音技能类型的Meta-data的值即为语音技能的类型。
作为进一步优化,步骤e中,语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能,具体包括:
语音引擎获得的语音识别结果包含了识别出的语音技能类型,即业务类型,从语音技能列表中匹配出能够处理该业务的语音技能,此时语音技能由包名和类名表示;在获得语音技能的包名和类名后,结合Action绑定语音技能,绑定成功后语音引擎就可以通过通讯接口发送语音指令给语音技能,语音技能可以通过通讯接口反馈消息给语音引擎。
作为进一步优化,步骤a中,还包括:将所有语音技能配置在同一个进程中。
作为进一步优化,所述将所有语音技能配置在同一个进程中的方法包括:
为语音技能设置sharedUserId和process,让具有相同sharedUserId和process的语音技能在一个进程中运行。
本发明的有益效果是:由于解耦了语音引擎与语音技能,实现语音引擎的独立更新、语音技能的独立更新和动态增减;此外,解耦后语音技能虽然为独立的应用;将所有语音技能配置在同一进程中,可以减少内存占用;并且,从开发人员的角度看,也实现了代码管理的解耦,管理难度也降低。
附图说明
图1为本发明基于Android***管理智能音箱语音技能的实现原理图。
具体实施方式
本旨在提出一种基于Android***管理智能音箱语音技能的方法,解决传统技术中语音技能不能独立更新、不能动态增减,代码庞大且管理难度大的问题。
如图1所示,在本发明中,将语音引擎与语音技能设计为独立的应用程序;为语音技能定义父类服务,父类服务定义通讯接口;语音技能继承父类服务并实现通讯接口;语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务;语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能。
作为独立的应用程序,其中语音引擎负责以下工作:1、获得语音技能列表与类型;2、语音识别后匹配出对应的语音技能3、绑定语音技能建立通讯;4、发送语音指令(业务)给对应的语音技能;5、监听语音技能的反馈,做出响应;6、程序退出时,解绑关闭语音技能。
语音技能负责以下工作:1、继承语音技能父类服务2、实现通讯接口;3、实现具体业务逻辑。
在具体实现上,本发明包括如下设计手段:
1)、语音技能父类服务的设计:
采用Android的AIDL语言设计父类服务跨进程的通讯接口,语音引擎在绑定语音技能后,通过注册跨进程的回调接口,语音技能就可以通过回调接口的方法向语音引擎发信息;语音引擎在语音识别后,通过通讯接口将语音指令发送给指定的语音技能,语音技能收到指令后执行相应的业务逻辑。
2)、语音技能的实现:
语音技能继承语音技能父类服务,并实现通讯接口的方法以处理具体的语音业务逻辑。
语音技能作为一个服务必须在其AndroidManifest.xml中进行声明;声明的内容主要包含:声明用于绑定语音技能的Action,对于所有的语音技能这个值都是一样的,它也是用于语音引擎发现语音技能的参数;声明用于区分语音技能类型的Meta-data。
3)语音引擎获取语音技能的方法:
在智能音箱启动以及语音技能更新、增减后,语音引擎会获取语音技能以及其类型;获取语音技能的方法是通过Android***的PackageManager获得AndroidManifest.xml中声明了Action为特定值的服务即为语音技能;判别语音技能类型的方法是解析语音技能的注册信息,获取表示语音技能类型的Meta-data的值即为语音技能的类型。
4)语音引擎分发指令给语音技能的方法:
语音引擎获得的语音识别结果包含了识别出的语音技能类型(业务类型),从语音技能列表中匹配出能够处理该业务的语音技能,此时语音技能由包名和类名表示;在获得语音技能的包名和类名后,结合Action绑定语音技能,绑定成功后语音引擎就可以通过通讯接口发送语音指令给语音技能,语音技能可以通过通讯接口反馈消息给语音引擎。
5)减少语音技能内存占用的方法:
将语音技能作为独立的应用程序后,当语音技能个数变多时,语音技能占用的***内存将增多;Android***为每个应用程序分配的最低内存为8M,但有些语音技能根本就用不到那么多内存;因此,可以将所有语音技能配置在同一个进程中,这样可以减少***内存占用。
Claims (7)
1.基于Android***管理智能音箱语音技能的方法,其特征在于,包括:
a.将语音引擎与语音技能设计为独立的应用程序;
b.为语音技能定义父类服务,父类服务定义通讯接口;
c.语音技能继承父类服务并实现通讯接口;
d.语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务;
e.语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能。
2.如权利要求1所述的基于Android***管理智能音箱语音技能的方法,其特征在于,步骤b中,为语音技能定义父类服务,父类服务定义通讯接口;具体包括:采用Android的AIDL语言设计父类服务跨进程的通讯接口,语音引擎在绑定语音技能后,通过注册跨进程的回调接口,语音技能就可以通过回调接口的方法向语音引擎发信息;语音引擎在语音识别后,通过通讯接口将语音指令发送给指定的语音技能,语音技能收到指令后执行相应的业务逻辑。
3.如权利要求1所述的基于Android***管理智能音箱语音技能的方法,其特征在于,步骤c中,所述语音技能继承语音技能父类服务,并实现通讯接口,具体包括:
语音技能作为一个服务必须在其AndroidManifest.xml中进行声明;声明的内容主要包含:声明用于绑定语音技能的Action,对于所有的语音技能这个值都是一样的,它也是用于语音引擎发现语音技能的参数;声明用于区分语音技能类型的Meta-data。
4.如权利要求1所述的基于Android***管理智能音箱语音技能的方法,其特征在于,步骤d中,语音引擎解析语音技能应用的配置文件识别出语音技能负责的业务,具体包括:
在智能音箱启动以及语音技能更新、增减后,语音引擎会获取语音技能以及其类型;获取语音技能的方法是:通过Android***的PackageManager获得AndroidManifest.xml中声明了Action为特定值的服务即为语音技能;判别语音技能类型的方法是解析语音技能的注册信息,获取表示语音技能类型的Meta-data的值即为语音技能的类型。
5.如权利要求1所述的基于Android***管理智能音箱语音技能的方法,其特征在于,步骤e中,语音引擎在语音识别后,根据具体的业务类型通过父类服务通讯接口将语音指令分发到指定语音技能,具体包括:
语音引擎获得的语音识别结果包含了识别出的语音技能类型,即业务类型,从语音技能列表中匹配出能够处理该业务的语音技能,此时语音技能由包名和类名表示;在获得语音技能的包名和类名后,结合Action绑定语音技能,绑定成功后语音引擎就可以通过通讯接口发送语音指令给语音技能,语音技能可以通过通讯接口反馈消息给语音引擎。
6.如权利要求1-5任意一项所述的基于Android***管理智能音箱语音技能的方法,其特征在于,步骤a中,还包括:将所有语音技能配置在同一个进程中。
7.如权利要求6所述的基于Android***管理智能音箱语音技能的方法,其特征在于,所述将所有语音技能配置在同一个进程中的方法包括:
为语音技能设置sharedUserId和process,让具有相同sharedUserId和process的语音技能在一个进程中运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710896939.4A CN107657031A (zh) | 2017-09-28 | 2017-09-28 | 基于Android***管理智能音箱语音技能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710896939.4A CN107657031A (zh) | 2017-09-28 | 2017-09-28 | 基于Android***管理智能音箱语音技能的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107657031A true CN107657031A (zh) | 2018-02-02 |
Family
ID=61116912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710896939.4A Pending CN107657031A (zh) | 2017-09-28 | 2017-09-28 | 基于Android***管理智能音箱语音技能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107657031A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223682A (zh) * | 2019-04-29 | 2019-09-10 | 百度在线网络技术(北京)有限公司 | 一种语音指令仲裁方法和装置 |
CN110275790A (zh) * | 2019-06-26 | 2019-09-24 | 北京金山安全软件有限公司 | 应用程序中的进程间通信同步回调方法、***及相关设备 |
CN110322873A (zh) * | 2019-07-02 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 语音技能的退出方法、装置、设备及存储介质 |
CN110728978A (zh) * | 2018-06-29 | 2020-01-24 | 南京芝兰人工智能技术研究院有限公司 | 一种基于人工智能的语音对话方法和*** |
CN111599362A (zh) * | 2020-05-20 | 2020-08-28 | 湖南华诺科技有限公司 | 一种自定义智能音箱技能的***、方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723487A (zh) * | 2002-12-13 | 2006-01-18 | 摩托罗拉公司 | 用于选择性语音识别的方法和装置 |
CN103117058A (zh) * | 2012-12-20 | 2013-05-22 | 四川长虹电器股份有限公司 | 基于智能电视平台的多语音引擎切换***及方法 |
CN103714814A (zh) * | 2013-12-11 | 2014-04-09 | 四川长虹电器股份有限公司 | 一种语音识别引擎语音对接方法 |
CN106844392A (zh) * | 2015-12-07 | 2017-06-13 | 北京航天长峰科技工业集团有限公司 | 一种异构语音数据接入平台 |
CN107018228A (zh) * | 2016-01-28 | 2017-08-04 | 中兴通讯股份有限公司 | 一种语音控制***、语音处理方法及终端设备 |
-
2017
- 2017-09-28 CN CN201710896939.4A patent/CN107657031A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723487A (zh) * | 2002-12-13 | 2006-01-18 | 摩托罗拉公司 | 用于选择性语音识别的方法和装置 |
CN103117058A (zh) * | 2012-12-20 | 2013-05-22 | 四川长虹电器股份有限公司 | 基于智能电视平台的多语音引擎切换***及方法 |
CN103714814A (zh) * | 2013-12-11 | 2014-04-09 | 四川长虹电器股份有限公司 | 一种语音识别引擎语音对接方法 |
CN106844392A (zh) * | 2015-12-07 | 2017-06-13 | 北京航天长峰科技工业集团有限公司 | 一种异构语音数据接入平台 |
CN107018228A (zh) * | 2016-01-28 | 2017-08-04 | 中兴通讯股份有限公司 | 一种语音控制***、语音处理方法及终端设备 |
Non-Patent Citations (2)
Title |
---|
DEVDIV移动开发社区: "《Android实战体验》", 31 January 2013 * |
吴志祥: "《Android应用开发案例教程》", 28 February 2015 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110728978A (zh) * | 2018-06-29 | 2020-01-24 | 南京芝兰人工智能技术研究院有限公司 | 一种基于人工智能的语音对话方法和*** |
CN110223682A (zh) * | 2019-04-29 | 2019-09-10 | 百度在线网络技术(北京)有限公司 | 一种语音指令仲裁方法和装置 |
CN110275790A (zh) * | 2019-06-26 | 2019-09-24 | 北京金山安全软件有限公司 | 应用程序中的进程间通信同步回调方法、***及相关设备 |
CN110322873A (zh) * | 2019-07-02 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 语音技能的退出方法、装置、设备及存储介质 |
US11580974B2 (en) | 2019-07-02 | 2023-02-14 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method for exiting a voice skill, apparatus, device and storage medium |
CN111599362A (zh) * | 2020-05-20 | 2020-08-28 | 湖南华诺科技有限公司 | 一种自定义智能音箱技能的***、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107657031A (zh) | 基于Android***管理智能音箱语音技能的方法 | |
WO2020181599A1 (zh) | 一种模型应用方法、管理方法、***及服务器 | |
CN112527528A (zh) | 基于消息队列的数据传输方法、装置及存储介质 | |
CN107766132A (zh) | 多任务调度方法、应用服务器及计算机可读存储介质 | |
CN108509282A (zh) | 基于golang反射技术的rpc跨语言调用服务治理方法 | |
CN111488332B (zh) | 一种ai服务开放中台及方法 | |
CN114844930B (zh) | 一种基于soa架构的车端远程控制方法及*** | |
CN110532009A (zh) | 一种智能设备升级管理***及方法 | |
CN103902389A (zh) | 基于android平台的支持双向通信的设备管理方法 | |
CN110853645A (zh) | 一种识别语音命令的方法及装置 | |
CN116483980A (zh) | 人机交互方法、装置及*** | |
CN110866392B (zh) | 一种用于策略控制的***及其策略控制方法 | |
CN107085463A (zh) | 一种支持自然语言信息交互的智能设备控制体系和方法 | |
CN109348434A (zh) | 一种场景信息的发送方法、发送装置及终端设备 | |
CN111343201A (zh) | 一种快速适配协议变更的解析方法、装置及*** | |
CN105024923B (zh) | 基于xmpp扩展消息的消息分类实现的方法及装置 | |
US20200286012A1 (en) | Model application method, management method, system and server | |
CN111562964A (zh) | 一种基于规则引擎的结算业务***模拟器实现方法 | |
CN110266529A (zh) | 基于物联网的大规模个性化智能服务定制方法 | |
CN105608097A (zh) | 适应性调整数据库结构的方法与调整装置 | |
CN111176622B (zh) | 对解决方案的语音技能进行统一管理的实现方法、管理***及管理方法 | |
CN109036427B (zh) | 一种动态配置语音识别服务的方法及*** | |
CN114866970A (zh) | 策略控制方法、***和相关设备 | |
CN103338229B (zh) | 远程终端装置与数据传输单元的交互方法及*** | |
CN109117146A (zh) | 云平台双机容灾***的自动部署方法、装置、存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180202 |
|
RJ01 | Rejection of invention patent application after publication |