1.本发明涉及语音处理技术领域,尤其涉及一种设备的语音处理方法、装置以及设备。
背景技术:2.随着智能可穿戴设备的普及,便携式可穿戴设备的人机交互越来越受到大众的青睐。例如,在智能手表领域中,人机语音交互,例如共享通话、语音指令等服务已变得十分普及。伴随着以上服务在智能穿戴设备中的普及,如何提升用户的体验感受以及设备的续航已经成为相关领域的研究热点。
3.针对智能可穿戴设备的语音通话过程中存在的周围噪音、通话的回声,多数厂商会采用神经网络算法以替换传统信号处理方法来进行噪音、回声的消除。但是,鉴于智能可穿戴设备的硬件尺寸大小以及算力等实际情况,智能可穿戴设备往往无法运行参数量较大的神经网络模型,并且考虑到智能可穿戴设备的电池容量与续航能力,其一般会采用轻量级神经网络来执行语音降噪任务,但轻量级神经网络的降噪效果欠佳。
技术实现要素:4.鉴于上述,本发明旨在提供一种设备的语音处理方法、装置以及设备,并相应地提出一种计算机可读存储介质,通过这些方面提高了设备的语音降噪效果。
5.本发明采用的技术方案如下:
6.第一方面,本发明提供了一种设备的语音处理方法,包括:
7.采集设备的语音数据;
8.依据回声消除指令更新回声标记位;
9.依据回声标记位对语音数据进行降噪处理,获得降噪后的语音数据;
10.输出降噪后的语音数据。
11.在其中一种可能的实现方式中,对语音数据进行降噪处理,获得降噪后的语音数据,具体包括:
12.获取语音数据的降噪系数,降噪系数为需要保留的语音特征与采集到的语音数据的语音特征的比值;
13.将降噪系数与语音数据的乘积作为降噪后的语音数据。
14.在其中一种可能的实现方式中,获取语音数据的降噪系数,具体包括:
15.提取采集到的语音数据的语音特征;
16.将语音特征和回声标记位作为神经网络模型的输入,将神经网络模型的输出作为降噪系数。
17.在其中一种可能的实现方式中,若回声标记位为1,则神经网络模型将语音特征中的回声特征作为数据处理对象。
18.在其中一种可能的实现方式中,神经网络模型的每一层的输入数据均采用8bit的
量化方式。
19.在其中一种可能的实现方式中,神经网络模型包括输入层、sigmoid激活层和至少一个conv_relu_bn模块,sigmoid激活层作为神经网络模型的输出层。
20.在其中一种可能的实现方式中,conv_relu_bn模块中的relu层的输出数据用无符号的8位数据来表示。
21.第二方面,本发明提供了一种设备的语音处理装置,包括语音采集模块、标记位更新模块、降噪模块以及输出模块;
22.语音采集模块用于采集设备的语音数据;
23.标记位更新模块用于依据回声消除指令更新回声标记位;
24.降噪模块用于依据回声标记位对语音数据进行降噪处理,获得降噪后的语音数据;
25.输出模块用于输出降噪后的语音数据。
26.在其中一种可能的实现方式中,降噪模块包括降噪系数获取模块和计算模块;
27.降噪系数获取模块用于获取语音数据的降噪系数,降噪系数为需要保留的语音特征与采集到的语音数据的语音特征的比值;
28.计算模块用于将降噪系数与语音数据的乘积作为降噪后的语音数据。
29.在其中一种可能的实现方式中,降噪系数获取模块包括特征提取模块和神经网络模型;
30.特征提取模块用于提取采集到的语音数据的语音特征;
31.神经网络模型的输入数据为语音特征和回声标记位,神经网络模型的输出为降噪系数。
32.第三方面,本发明提供了一种设备,包括:
33.一个或多个处理器、存储器以及一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被设备执行时,使得设备执行上述的设备的语音处理方法。
34.第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的设备的语音处理方法。
35.本发明的构思在于,在降噪模块的输入端增加回声标志位,在需要时才进行回声降噪,不需要时仅仅对环境噪音等其他噪音进行降噪处理,降低了神经网络的学习难度和运算量,同时确保设备提供的通话质量满足用户需求。另外,本发明的神经网络模型的结构较轻量化神经网络复杂,具有更好的语音降噪效果,从而保证了用户的体验效果。同时,本发明还对神经网络模型进行了量化精简,精简了模型的参数规模,减小了硬件设备的资源负担和电池消耗。
附图说明
36.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
37.图1为本发明提供的设备的语音处理方法的流程图;
38.图2为本技术提供的神经网络模型的结构示意图;
39.图3为本发明提供的设备的语音处理装置的结构图;
40.图4为本发明提供的降噪模块的结构图;
41.图5为本发明提供的设备的结构图。
具体实施方式
42.下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
43.本发明的构思在于,在降噪处理模块的输入端增加回声标志位,在需要时才进行回声降噪,不需要时仅仅对环境噪音等其他噪音进行降噪处理,降低了神经网络的学习难度和运算量,同时确保设备提供的通话质量满足用户需求。另外,本发明的神经网络模型的结构较轻量化神经网络复杂,具有更好的语音降噪效果,从而保证了用户的体验效果。同时,本发明还对神经网络模型进行了量化精简,精简了模型的参数规模,减小了硬件设备的资源负担和电池消耗。
44.需要说明的是,本发明中的设有可以是可穿戴设备,也可以是其他具有语音功能的设备,其通过软件支持以及数据交互、云端交互来实现强大的功能。
45.可穿戴设备是直接穿在用户身上,或是可以整合到用户的衣服或配件上的一种便携式设备。
46.针对前述核心构思,本发明提供了至少一种设备的语音处理方法的实施例,如图1所示,可以包括如下步骤:
47.s110:采集设备的语音数据。
48.在用户通过设备进行语音交互(如通话)的过程中,设备自带的麦克风会采集语音数据,该语音数据包括用户的声音以及周围的环境噪音等。
49.s120:依据回声消除指令更新回声标记位。
50.具体地,设备具备回音消除选项。
51.作为一个可能的实施方式,在语音交互过程中,如果用户认为接收的语音内容包含回声,则用户可以开启消除回声选项,即向设备发送回声消除指令。
52.作为另一个可能的实施方式,在语音交互过程中,设备初步判断采集的语音数据是否具有回声。若存在回声,设备通过显示屏提示用户,并询问是否进行回声消除。若用户开启消除回声选项,则设备接收回声消除指令。
53.作为一个可能的实施方式,在判断语音数据是否具有回声时,从语音数据获取与每个时间点相对应的音频频率,若存在第一时间段的音频频率与第二时间段的音频频率相同(第一时间段早于第二时间段),并且第一时间段的音频的振幅与第二时间段的音频的振幅存在同比变化现象,则语音数据中存在回声。
54.回声标记位的默认值为0,表示不进行回声消除。在语音交互过程中,设备实时采集回声消除指令。若接收到回声消除指令,则设备将回声标记位更新为1。若未接收到回声消除指令,则回声标记位保持默认值。
55.s130:依据回声标记位对语音数据进行降噪处理,获得降噪后的语音数据。
56.若回声标记位为1,则降噪处理中消除语音数据中的回声和其他噪音,若回声标记
位为0,则降噪处理只消除语音数据中的其他噪音(包括环境噪音),不对语音数据中的回声做处理。
57.作为一个可能的实施方式,降噪处理采用传统的神经网络模型进行处理。考虑到设备的硬件尺寸大小、算力以及电池续航能力等实际情况,优选地,采用轻量级神经网络模型(如mobienet、squeezenet)进行语音数据的降噪处理。需要说明的是,若回声标记位为1,轻量级神经网络模型对语音数据中的回声及其他噪音(包括环境噪音)做降噪处理。若回声标记位为0,轻量级神经网络模型不对语音数据中的回声做降噪处理。
58.但是,如上,轻量级神经网络模型的降噪处理效果欠佳。基于此,在一个优选的实施方式中,对语音数据进行降噪处理,获得降噪后的语音数据,具体包括:
59.s1301:获取语音数据的降噪系数,降噪系数为需要保留的语音特征与采集到的语音数据的语音特征的比值。
60.作为一个可能的实施方式,基于上述判断回声的实施例,将音频频率作为语音特征,获取语音数据中每个时间点的音频频率,作为采集到的语音数据的语音特征,若语音数据中存在回音,并且回音标记位为1,则将第二时间段中与第一时间段相同的所有音频频率作为回音特征,并将采集到的语音数据中的其他噪音(包括环境噪音)的所有音频频率作为噪音特征,将采集到的语音特征中除回音特征和噪音特征之外的语音特征作为需要保留的语音特征(即将语音特征中的回声特征和噪音特征作为数据处理对象),从而计算需要保留的语音特征与采集到的语音数据的语音特征的比值,作为降噪系数。若回音标记位为0,无论采集到的语音数据中是否存在回音,则将采集到的语音特征中除噪音特征之外的语音特征作为需要保留的语音特征(即将语音特征中的噪音特征作为数据处理对象,不对回音特征做处理),从而计算需要保留的语音特征与采集到的语音数据的语音特征的比值,作为降噪系数。
61.作为另一个可能的实施方式,采用神经网络模型获得降噪系数。具体地,获取降噪系数包括如下步骤:
62.p1:提取采集到的语音数据的语音特征。
63.可以理解地,可以从语音数据中提取常用的语音特征,例如上述的音频频率或声强、响度、音高、梅尔倒谱系数等。
64.由于对数频域更符合人耳的听觉系统,因此优选地,对输入的音频提取对数功率谱(lps)特征作为语音特征。
65.p2:将语音特征和回声标记位作为神经网络模型的输入,将神经网络模型的输出作为降噪系数。
66.本技术中,神经网络模型包括输入层、sigmoid激活层和至少一个conv_relu_bn模块,sigmoid激活层作为神经网络模型的输出层。
67.作为一个可能的实施方式,如图2所示,神经网络模型包括输入层、sigmoid激活层和两个conv_relu_bn模块。
68.作为一个实例,输入层用于输入语音特征和回声标记位。每个conv_relu_bn模块依次包含了三个卷积(conv)层、一个线性整流(relu)层和一个批量归一化(bn)层。conv层用于提取上一层输入的数据的特征,relu层用于保留特征比较好的值,将特征较差的值舍去。bn层用于对relu层的输出数据进行批量归一化,加快网络的训练和收敛的速度,控制梯
度爆炸,防止梯度消失,并防止过拟合。
69.在一种可能的实施方式中,relu层为一种激活函数表示层,其只保留正数的输出,该激活函数的定义可如下所示:
70.f(y)=max(0,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
71.其中,y是relu激活函数的输入,f(y)是relu激活函数的输出。
72.由此,每个conv_relu_bn模块都会输出较其上一层更高阶的语音特征,该高阶的语音特征反应了哪些语音特征属于噪音部分(若回声标记位为1,则该噪音部分包括回声部分和其他噪音部分(包括环境噪音);如若回声标记位为0,则该噪音部分包括回声部分之外的其他噪音部分(包括环境噪音))。
73.sigmoid激活层中的sigmoid函数也叫logistic函数,可用于计算神经网络中每一层的输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间。sigmoid激活层采用sigmoid激活函数将高阶语音特征映射到0~1之间,对输入的高阶语音特征进行回归,使其输出每一时间点的语音特征所对应的降噪系数(0~1之间的数值),从而达到最终的降噪目的。降噪系数越大,说明采集到的语音数据的噪音越少,需要保留的语音部分也就越多。
74.具体地,sigmoid激活函数的实现原理如下述公式所示
[0075][0076]
其中,x是sigmoid激活函数的输入,e表示自然常数,f(x)是sigmoid激活函数的输出。
[0077]
相对于轻量级神经网络,上述的神经网络模型具有相对复杂的结构,具有更好的神经网络拟合效果,从而保证了用户的体验效果。
[0078]
在上述基础上,为了减小设备的资源负担,本发明还对神经网络模型进行了如下量化精简,精简了模型的参数规模,同时减小了硬件设备的电池消耗。
[0079]
在一种可能的实施方式中,神经网络模型的每一层的输入数据均采用8bit的量化方式,即每一层的输入数据均可用8bit的数据范围来表示,使得神经网络模型的参数规模减少到原来的1/4至1/3。
[0080]
在另一种可能的实施方式中,conv_relu_bn模块中的relu层的输出数据用无符号的8位数据来表示。相比于用有符号的8位数据(输出为0~127)来表示,无符号的8位数据的表示范围可以达到0~255,由此relu层进一步提升了数据精度,减少了量化过程中的效果损失。
[0081]
s1302:将降噪系数与语音数据的乘积作为降噪后的语音数据。
[0082]
s140:输出降噪后的语音数据。
[0083]
相应于上述各实施例及优选方案,本发明还提供了一种设备的语音处理装置的实施例。如图3所示,设备的语音处理装置可以包括语音采集模块310、标记位更新模块320、降噪模块330以及输出模块340。
[0084]
语音采集模块310用于采集设备的语音数据。
[0085]
标记位更新模块320用于依据回声消除指令更新回声标记位。
[0086]
降噪模块330用于依据回声标记位对语音数据进行降噪处理,获得降噪后的语音数据。
[0087]
输出模块340用于输出降噪后的语音数据。
[0088]
在其中一种可能的实现方式中,如图4所示,降噪模块330包括降噪系数获取模块3301和计算模块3302。
[0089]
降噪系数获取模块3301用于获取语音数据的降噪系数,降噪系数为需要保留的语音特征与采集到的语音数据的语音特征的比值。
[0090]
计算模块3302用于将降噪系数与语音数据的乘积作为降噪后的语音数据。
[0091]
在其中一种可能的实现方式中,降噪系数获取模块3301包括特征提取模块33011和神经网络模型33012。
[0092]
特征提取模块33011用于提取采集到的语音数据的语音特征。
[0093]
神经网络模型33012的输入数据为语音特征和回声标记位,神经网络模型的输出为降噪系数。
[0094]
在其中一种可能的实现方式中,提取的语音特征为对数功率谱(lps)特征。
[0095]
在其中一种可能的实现方式中,神经网络模型包括输入层、sigmoid激活层和至少一个conv_relu_bn模块,sigmoid激活层作为神经网络模型的输出层。
[0096]
在其中一种可能的实现方式中,神经网络模型的每一层的输入数据均采用8bit的量化方式。
[0097]
在其中一种可能的实现方式中,conv_relu_bn模块中的relu层的输出数据用无符号的8位数据来表示。
[0098]
应理解以上图3和图4所示的设备的语音处理装置的各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0099]
例如,这些部件可以集成在一起,以片上系统(system
‑
on
‑
a
‑
chip;以下简称:soc)的形式实现。
[0100]
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
[0101]
(1)一种设备,其可以包括:
[0102]
一个或多个处理器、存储器以及一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被设备执行时,使得设备执行前述实施例或等效实施方式的步骤/功能。
[0103]
图5为本发明设备的实施例的结构示意图,其中,该设备是直接穿在用户身上,或是可以整合到用户的衣服或配件上的一种便携式设备。该设备通过软件支持以及数据交互、云端交互来实现强大的功能。需要说明的是,本发明中的设备至少具备语音交互功能。
[0104]
可以理解地,本发明中的设备可以是以手腕为支撑智能手表和腕带等产品、以脚为支撑的鞋、袜子或者其他腿上佩戴产品、以头部为支撑的眼镜、头盔、头带等产品,以及智
能服装、书包、拐杖、配饰等产品形态。本实施例对设备的具体形式不作限定。
[0105]
具体如图5所示,设备900包括处理器910、存储器930和音频电路980。其中,处理器910和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序、采集到的语音数据,该处理器910用于从该存储器930中调用并运行该计算机程序、调取存储器930中存储的语音数据进行处理。上述处理器910和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910至少用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。音频电路包括扬声器982、麦克风984等。
[0106]
除此之外,设备900还包括输入单元960、显示单元970,还可以包括摄像头990和传感器901等中的一个或多个,其中,显示单元970包括显示屏。
[0107]
进一步地,上述设备900还可以包括电源950,用于给该设备900中的各种器件或电路提供电能。
[0108]
应理解,图5所示的设备900能够实现前述实施例提供的方法的各个过程。该设备900中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
[0109]
应理解,图5所示的设备900中的处理器910可以是片上系统soc,该处理器910中可以包括中央处理器(central processing unit;以下简称:cpu),还可以进一步包括其他类型的处理器,例如:图像处理器(graphics processing unit;以下简称:gpu)等,具体在下文中再作介绍。
[0110]
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
[0111]
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
[0112]
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下软件产品的形式体现出来。
[0113]
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的设备的语音处理方法。
[0114]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。接续前文,上述设备/终端可以是设备,还可以是一台计算机设备(例如手机、pc终端等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器cpu、dsp、微控制器或数字信号处理器,还可包括gpu、嵌入式神经网络处理器(neural
‑
network process units;以下简称:npu)和图像信号处理器(image signal processing;以下简称:isp),该处理器还可包括特定集成电路asic,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储
介质可以包括:非易失性存储器(non
‑
volatile memory),例如非可移动磁盘、u盘、移动硬盘、光盘等,以及只读存储器(read
‑
only memory;以下简称:rom)、随机存取存储器(random access memory;以下简称:ram)等。
[0115]
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示单独存在a、同时存在a和b、单独存在b的情况。其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
[0116]
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0117]
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0118]
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。