语音算法的更新方法、装置、设备及存储介质与流程

文档序号:32704376发布日期:2022-12-27 23:35阅读:39来源:国知局
语音算法的更新方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种语音算法的更新方法、装置、设备及存储介质。


背景技术:

2.目前,现在的智能语音场景中,语音唤醒模型、语音识别模型等语音算法大多是集成在安卓系统底层,导致每次升级语音算法时,都需升级系统,升级代价大,导致语音算法基本上不更新,或者很少更新,语音方面新的功能或者优化方法不能及时让用户体验,严重影响语音应用的体验。


技术实现要素:

3.鉴于以上内容,本技术提供一种语音算法的更新方法、装置、设备及存储介质,其目的在于实现在不升级系统的情况下,完成语音算法的独立更新。
4.第一方面,本技术提供一种语音算法的更新方法,该方法包括:
5.获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
6.当判断需要更新当前语音算法时,下载新版本语音算法;
7.将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
8.当校验所述新版本语音算法合法时,根据所述新版本语音算法更新所述当前语音算法。
9.优选地,所述根据所述当前版本号判断是否需要更新所述当前语音算法,包括:
10.获取服务端的语音算法的版本号;
11.判断服务端的语音算法的版本号是否高于所述当前版本号;
12.若是,判断需要更新所述当前语音算法;
13.若否,判断不需要更新所述当前语音算法。
14.优选地,所述根据所述当前版本号判断是否需要更新所述当前语音算法,还包括:
15.当判断不需要更新所述当前语音算法时,取消更新操作。
16.优选地,在下载新版本语音算法之后,所述方法还包括:
17.判断所述新版本语音算法是否下载成功;
18.若是,执行将所述新版本语音算法传输至音频硬件抽象层的步骤;
19.若否,取消更新操作。
20.优选地,所述校验所述新版本语音算法是否合法,包括:
21.读取所述新版本语音算法的原始md5值;
22.计算所述新版本语音算法的当前md5值;
23.判断所述原始md5值与所述当前md5值是否一致;
24.若一致,则判断所述新版本语音算法合法。
25.优选地,所述判断所述原始md5值与所述当前md5值是否一致,还包括:
26.若判断所述原始md5值与所述当前md5值不一致,则判断所述新版本语音算法不合法。
27.优选地,所述校验所述新版本语音算法是否合法,还包括:
28.当校验所述新版本语音算法不合法时,拒绝更新所述当前语音算法。
29.第二方面,本技术提供一种语音算法的更新装置,该语音算法的更新装置包括:
30.判断模块:用于获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
31.下载模块:用于当判断需要更新当前语音算法时,下载新版本语音算法;
32.校验模块:用于将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
33.更新模块:用于当校验所述新版本语音算法合法时,根据所述新版本语音算法更新所述当前语音算法。
34.第三方面,本技术提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
35.存储器,用于存放计算机程序;
36.处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的语音算法的更新方法的步骤。
37.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的语音算法的更新方法的步骤。
38.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
39.本技术提出的语音算法的更新方法、装置、设备及存储介质,通过在音频硬件抽象层加入语音算法接口层、唤醒模型接口层、语音功能接口层,实现了唤醒模型、语音功能等语音算法之间的解耦,为算法、唤醒模型、语音功能的独立更新打下基础,可以快速便捷地完成唤醒模型、语音算法、语音底层功能的更新,不需要通过更新安卓系统才更新语音算法,使得语音算法具有可以快速迭代的优点。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术语音算法的更新方法较佳实施例的流程示意图;
43.图2为本技术实施例语音算法的更新方法对应的系统框架示意图;
44.图3为本技术语音算法的更新装置较佳实施例的模块示意图;
45.图4为本技术电子设备较佳实施例的示意图;
46.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.需要说明的是,本技术各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
49.本技术提供一种语音算法的更新方法。参照图1所示,为本技术语音算法的更新方法的实施例的方法流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。语音算法的更新方法包括:
50.步骤s10:获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
51.步骤s20:当判断需要更新当前语音算法时,下载新版本语音算法;
52.步骤s30:将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
53.步骤s40:当校验所述新版本语音算法合法时,根据所述新版本语音算法更新所述当前语音算法。
54.本实施例中,语音算法可以是指具有语音识别、语音检测或语音唤醒等语音功能的智能算法。当语音算法相关的应用程序启动后,获取应用程序对应的当前语音算法的当前版本号,其中,当前语音算法以接口的形式封装在音频硬件抽象层,通过将语音算法抽象成接口,可以在不进行系统升级的条件下,完成语音算法的独立更新。
55.将该版本号放入参数中请求后台(服务端)的接口,从而判断是否需要更新当前语音算法,新版本的语音算法在开发完成后,可以通过文件的形式预先导入至服务端,通过对比版本号可以得知是否需要更新当前语音算法,例如,服务端中若存在新版本的语音算法时,则需要更新当前语音算法。
56.当判断需要更新当前语音算法时,则从服务端下载新版本语音算法,下载完成后,通过通讯层将新版本语音算法传输至音频硬件抽象层,在音频硬件抽象层校验新版本语音算法是否合法,当校验新版本语音算法合法时,根据新版本语音算法更新当前语音算法。
57.本实施例对应的系统框架示意图如图2所示,系统包括音频硬件抽象层(audio hal)、安卓应用、后台(服务端),其中,音频硬件抽象层包括:
58.底层录音处理模块:负责底层原始录音的处理,用于获取时序对齐的麦克风录音和回采录音;
59.语音算法接口层:为语音算法的抽象接口,包含送多路原始录音(麦克音+回采音)返回两路音频,一路算法送语音识别的音频,一路算法送唤醒的音频;
60.算法实现模块:用于音频处理,将原始录音处理成适合语音唤醒和语音识别的音频,音频处理可以是回声消除、盲源分离算法、多麦克风信号处理、混响消除、动态调整幅值
算法等;
61.唤醒模型接口层:为语音唤醒模型的接口层,只保留传入一路算法后唤醒音频,返回唤醒信号的抽象接口,配合唤醒模块实现模块使用;
62.唤醒模块实模块:用于语音唤醒模型的加载和更新,加载完成后配合唤醒模型抽象接口完成唤醒信号的处理;
63.语音功能接口层:用于按照一定的格式完成上下行数据的抽象接口,配合语音功能实现模块使用,可完成唤醒信号的对接及上报、就近唤醒处理及上报等功能;
64.语音功能实现模块:用于语音功能实现文件加载和更新,配合语音功能接口层使用;
65.通讯层:用于与应用通讯,完成唤醒信号的传递,就近唤醒数据传递相关模块的更新等消息通讯。
66.安卓应用层包括:
67.通讯层:负责与音频硬件抽象层(audio hal)通讯,完成唤醒信号的接收,就近唤醒数据接收相关模块的更新等消息通讯;
68.智能语音功能模块:用于唤醒信号的处理、录音、语音转文字、语音理解及指令响应等;
69.语音算法更新应用模块:该模块包含语音算法、唤醒模型、语音功能实现工具是否需要更新校验、下载、及更新等功能。
70.服务端包含:
71.智能语音功能后台模块:该模块包含语音转文字识别模块和语音理解播放模块,完成将应用端发送到后台的音频转成文字,以及将文字转成可执行的指令的功能;
72.语音算法更新后台模块:保存语音算法、唤醒模型、语音功能实现工具,配合语音算法更新应用模块使用。
73.本方案通过在音频硬件抽象层加入语音算法接口层、唤醒模型接口层、语音功能接口层,实现了唤醒模型、语音功能等语音算法之间的解耦,为算法、唤醒模型、语音功能的独立更新打下基础,可以快速便捷地完成唤醒模型、语音算法、语音底层功能的更新,不需要通过更新安卓系统才更新语音算法,使得语音算法具有可以快速迭代的优点。
74.在一个实施例中,所述根据所述当前版本号判断是否需要更新所述当前语音算法,包括:
75.获取服务端的语音算法的版本号;
76.判断服务端的语音算法的版本号是否高于所述当前版本号;
77.若是,判断需要更新所述当前语音算法;
78.若否,判断不需要更新所述当前语音算法。
79.由于新版本的语音算法在开发完成后,可以通过文件的形式预先导入至服务端,因此可以比较服务端中的语音算法的版本号和当前语音算法的版本号,若服务端的语音算法的版本号高于当前语音算法的版本号,例如,服务端语音算法的版本号为2.2,当前语音算法的版本号为2.1。说明需要更新当前语音算法。若服务端的语音算法的版本号与当前语音算法的版本号相同,则不需要更新当前语音算法。
80.进一步地,根据所述当前版本号判断是否需要更新所述当前语音算法,还包括:当
判断不需要更新所述当前语音算法时,取消更新操作。
81.在一个实施例中,在下载新版本语音算法之后,所述方法还包括:
82.判断所述新版本语音算法是否下载成功;
83.若是,执行将所述新版本语音算法传输至音频硬件抽象层的步骤;
84.若否,取消更新操作。
85.由于可能存在网络故障等因素,在下载新版本语音算法后,还可以判断新版本语音算法是否下载成功,若下载成功则将新版本语音算法传输至音频硬件抽象层,若下载失败,则取消更新操作。
86.在一个实施例中,所述校验所述新版本语音算法是否合法,包括:
87.读取所述新版本语音算法的原始md5值;
88.计算所述新版本语音算法的当前md5值;
89.判断所述原始md5值与所述当前md5值是否一致;
90.若一致,则判断所述新版本语音算法合法。
91.校验新版本语音算法是否合法可以通过校验md5值是否一致,新版本语音算法导入至服务端时可以预先生成一个md5值(即原始md5值),当新版本语音算法下载完成后,再计算下载的新版本语音算法的md5值(即当前md5值),判断原始md5值与当前md5值是否一致,如果一致,则说明下载的新版本语音算法没有被篡改,是合法的新版本语音算法。
92.进一步地,所述判断所述原始md5值与所述当前md5值是否一致,还包括:
93.若判断所述原始md5值与所述当前md5值不一致,则判断所述新版本语音算法不合法。
94.若干判断原始md5值与当前md5值不一致时,则说明下载的新版本语音算法被非法篡改,即新版本语音算法不合法。
95.在一个实施例中,所述校验所述新版本语音算法是否合法,还包括:
96.当校验所述新版本语音算法不合法时,拒绝更新所述当前语音算法。
97.当校验所述新版本语音算法不合法时,说明下载的新版本语音算法存在非法篡改,此时可以取消更新操作,并删除下载内容。
98.参照图3所示,为本技术语音算法的更新装置100的功能模块示意图。
99.本技术所述语音算法的更新装置100可以安装于电子设备中。根据实现的功能,所述语音算法的更新装置100可以包括判断模块110、下载模块120、校验模块130及更新模块140。本技术所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
100.在本实施例中,关于各模块/单元的功能如下:
101.判断模块110:用于获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
102.下载模块120:用于当判断需要更新当前语音算法时,下载新版本语音算法;
103.校验模块130:用于将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
104.更新模块140:用于当校验所述新版本语音算法合法时,根据所述新版本语音算法
更新所述当前语音算法。
105.在一个实施例中,所述根据所述当前版本号判断是否需要更新所述当前语音算法,包括:
106.获取服务端的语音算法的版本号;
107.判断服务端的语音算法的版本号是否高于所述当前版本号;
108.若是,判断需要更新所述当前语音算法;
109.若否,判断不需要更新所述当前语音算法。
110.在一个实施例中,所述根据所述当前版本号判断是否需要更新所述当前语音算法,还包括:
111.当判断不需要更新所述当前语音算法时,取消更新操作。
112.在一个实施例中,下载模块120还用于:
113.判断所述新版本语音算法是否下载成功;
114.若是,执行将所述新版本语音算法传输至音频硬件抽象层的步骤;
115.若否,取消更新操作。
116.在一个实施例中,所述校验所述新版本语音算法是否合法,包括:
117.读取所述新版本语音算法的原始md5值;
118.计算所述新版本语音算法的当前md5值;
119.判断所述原始md5值与所述当前md5值是否一致;
120.若一致,则判断所述新版本语音算法合法。
121.在一个实施例中,所述判断所述原始md5值与所述当前md5值是否一致,还包括:
122.若判断所述原始md5值与所述当前md5值不一致,则判断所述新版本语音算法不合法。
123.在一个实施例中,所述校验所述新版本语音算法是否合法,还包括:
124.当校验所述新版本语音算法不合法时,拒绝更新所述当前语音算法。
125.参照图4所示,为本技术电子设备1较佳实施例的示意图。
126.该电子设备1包括但不限于:存储器11、处理器12、显示器13及通信接口14。所述电子设备1通过通信接口14连接网络。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,gsm)、宽带码分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。
127.其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如
语音算法的更新程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
128.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行语音算法的更新程序10的程序代码等。
129.显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面。
130.通信接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),该通信接口14通常用于在所述电子设备1与其它设备之间建立通信连接。
131.图4仅示出了具有组件11-14以及语音算法的更新程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
132.可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的界面。
133.该电子设备1还可以包括射频(radio frequency,rf)电路、传感器和音频电路等等,在此不再赘述。
134.在上述实施例中,处理器12执行存储器11中存储的语音算法的更新程序10时可以实现如下步骤:
135.获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
136.当判断需要更新当前语音算法时,下载新版本语音算法;
137.将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
138.当校验所述新版本语音算法合法时,根据所述新版本语音算法更新所述当前语音算法。
139.所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
140.关于上述步骤的详细介绍,请参照上述图3关于语音算法的更新装置100实施例的功能模块图以及图1关于语音算法的更新方法实施例的流程图的说明。
141.此外,本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。该计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储
介质中包括存储数据区和存储程序区,存储程序区存储有语音算法的更新程序10,所述语音算法的更新程序10被处理器执行时实现如下操作:
142.获取当前语音算法的当前版本号,根据所述当前版本号判断是否需要更新所述当前语音算法,其中,所述当前语音算法以接口的形式封装在音频硬件抽象层;
143.当判断需要更新当前语音算法时,下载新版本语音算法;
144.将所述新版本语音算法传输至音频硬件抽象层,校验所述新版本语音算法是否合法;
145.当校验所述新版本语音算法合法时,根据所述新版本语音算法更新所述当前语音算法。
146.本技术之计算机可读存储介质的具体实施方式与上述语音算法的更新方法的具体实施方式大致相同,在此不再赘述。
147.需要说明的是,上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
148.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本技术各个实施例所述的方法。
149.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1