技术简介:
本专利针对传统关键词识别中时频转换次数多、计算量大导致效率低的问题,提出一种基于部分解码与降噪神经网络的优化方法。通过将码流部分解码为离散余弦变换谱系数,结合预训练降噪模型提取降噪特征,并利用历史帧特征进行识别,显著减少时频转换次数,降低计算复杂度,提升识别效率。
关键词:关键词识别,降噪神经网络
1.本技术涉及蓝牙技术领域,特别涉及一种关键词识别方法、装置及介质。
背景技术:2.随着科技的发展,无线音频的关键词识别技术在越来越多的使用场景中被应用,例如,应用在蓝牙遥控器上。如图1所示,利用蓝牙遥控器控制家电的过程是:用户发出语音控制命令,如
‘
打开空调’,利用遥控器的麦克风采集、模数转换(adc)、音频预处理和音频编码器生成音频压缩包,最后通过无线通信模块发送出去;接收端的无线通信模块收到音频压缩包,调用音频解码器生成音频pcm数据,经音频后处理模块和关键词识别模块识别出关键词,如
‘
打开空调’,再将其转换成对应的控制信号来控制家电。
3.在现有技术的关键词识别过程中,接收端需要进行多次时频转换,如图1,在接收端的无线通讯模块中将接收到的频域码流转换为时域的pcm数据,然而利用音频后处理模块进行音频降噪时,又需要将pcm数据转换为频域数据在频域上进行音频的降噪,然后将降噪后的音频以pcm数据形式传递给关键词识别模块,进行关键词的识别,然而在关键词识别的过程中仍需要进行时频的转换。因此,现有技术在进行关键词识别的过程中需要多次进行时频转换,这会造成的算力浪费、存储功能的浪费和系统延迟的问题。同时,因为现有的降噪技术其目标主要是改善人的主观听感,并非为识别关键词设计,因此现有技术在降噪过程中会引入非线性处理,这会导致关键词识别过程的准确性下降。
技术实现要素:4.针对现有技术存在的在进行关键词识别过程中需要多次进行时频转换造成的算力浪费和系统延迟等问题,本技术主要提供一种关键词识别方法、装置及存储介质。
5.为了实现上述目的,本技术采用的一个技术方案是:提供一种关键词识别方法,其包括:在信号接收端,将当前帧码流进行部分解码直至得到当前帧码流的离散余弦变换谱系数;利用离散余弦变换谱系数计算得到当前帧码流的带噪语音特征,并将带噪语音特征输入预先训练的降噪神经网络模型中计算得到降噪增益;利用降噪增益对离散余弦变换谱系数进行降噪处理,得到降噪离散余弦变换谱系数;利用降噪离散余弦变换谱系数进行降噪谱系数特征提取,得到降噪离散余弦变换谱系数的降噪谱系数特征;以及,在预先训练的识别神经网络模型中,根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。
6.可选的,将混合语音码流和纯净的关键词语音码流分别进行部分解码,得到混合语音码流的第一离散余弦变换谱系数和关键词语音码流的第二离散余弦变换谱系数;利用第一离散余弦变换谱系数计算得到带噪语音特征,并利用第二离散余弦变换谱系数计算得到无噪语音特征;将带噪语音特征和无噪语音特征输入到降噪神经网络模型中进行训练,使得降噪神经网络模型根据输入的带噪语音特征得到降噪增益。
7.可选的,根据识别得到的关键词和关键词语音中的关键词,调整降噪神经网络模
型和识别神经网络模型的权重大小和偏置大小,直至识别得到关键词的正确率大于预定阈值,结束对降噪神经网络模型和识别神经网络模型的训练。
8.可选的,利用交叉熵损失函数进行降噪神经网络模型和识别神经网络模型的训练。
9.可选的,分别获取混合语音码流的第一离散余弦变换谱系数中每一帧谱系数的子带带噪语音特征和关键词语音码流的第二离散余弦变换谱系数中对应帧的子带无噪语音特征;将子带带噪语音特征和子带无噪语音特征输入到降噪神经网络模型中进行训练,使得生成的降噪神经网络模型根据输入的一帧谱系数得到一帧谱系数中各个子带对应的子带增益。
10.可选的,利用第一离散余弦变换谱系数和第二离散余弦变换谱系数分别对当前帧混合语音码流和对应帧的关键词语音码流进行子带划分,得到对应的子带;利用子带的伪谱系数计算子带的子带能量,并利用子带能量计算得到子带对应的子带带噪语音特征或子带无噪语音特征。
11.可选的,利用子带增益和子带对应的离散余弦变换谱系数之间的乘积,计算得到子带的降噪离散余弦变换谱系数;以及,将每个子带的降噪离散余弦变换谱系数进行拼接,得到当前帧码流的降噪离散余弦变换谱系数。
12.可选的,对降噪离散余弦变换谱系数进行预加重,得到加重后的降噪离散余弦变换谱系数;利用加重后的降噪离散余弦变换谱系数,生成加重后的降噪离散余弦变换谱系数的能量谱;计算能量谱经过梅尔滤波器组后的通道能量;以及,将通道能量进行对数变换,并利用计算结果进行离散余弦变换,将计算得到的梅尔频率倒谱系数作为降噪谱系数特征。
13.本技术采用的另一个技术方案是:提供一种关键词识别装置,其包括:半解码模块,用于在信号接收端,将当前帧码流进行部分解码直至得到当前帧码流的离散余弦变换谱系数;降噪增益获取模块,用于利用离散余弦变换谱系数计算得到当前帧码流的带噪语音特征,并将带噪语音特征输入预先训练的降噪神经网络模型中计算得到降噪增益;降噪模块,用于利用降噪增益对离散余弦变换谱系数进行降噪处理,得到降噪离散余弦变换谱系数;降噪谱系数特征提取模块,用于利用降噪离散余弦变换谱系数进行降噪谱系数特征提取,得到降噪离散余弦变换谱系数的降噪谱系数特征;以及,关键词识别模块,用于在预先训练的识别神经网络模型中,根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。
14.本技术采用的另一个技术方案是:提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被操作以执行方案一中的关键词识别方法。
15.本技术的技术方案可以达到的有益效果是:该方法在进行关键词识别过程中不需要多次进行时频转换,减少关键词识别过程中的算力浪费和系统延迟,同时改进降噪技术使降噪技术更适用于关键词的识别。
附图说明
16.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本申
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术一种关键词识别方法的现有技术关键词识别过程的示意图;
18.图2是本技术一种关键词识别方法的一个具体实施方式的示意图;
19.图3是本技术一种关键词识别方法的一个预加重频率响应的示意图;
20.图4是本技术一种关键词识别方法的一个关键词识别过程和训练过程的示意图;
21.图5是本技术一种关键词识别装置的一个具体实施方式的示意图。
22.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
23.下面结合附图对本技术的较佳实施例进行详细阐述,以使本技术的优点和特征能更易于被本领域技术人员理解,从而对本技术的保护范围做出更为清楚明确的界定。
24.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
25.在现有技术中,蓝牙接收端的无线通讯模块接收到蓝牙发射端发射的音频码流,并利用音频解码器经过码流解析、算术与残差解码、噪声填充和全局增益、时域噪声解码、变换域噪声解码、频域到时域的转换(通常为低延迟改进型离散余弦逆变换)和长期后置滤波器的处理得到pcm数据。音频处理模块利用pcm数据通过时域到频域的转换、在频域估计噪声与音频信号、计算增益、对谱系数应用增益和频域到时域的转换完成音频的去噪处理,得到去噪后的pcm数据。将去噪后的pcm数据利用关键词识别模块通过特征提取、深度神经网络和后处理得到需要识别的关键词,其中,特征提取步骤包括预加重、加窗、时域到频域转换(通常为离散傅里叶变换)、能量谱、mel滤波器组、对数变换、离散余弦变换和梅尔频率倒谱系数(简称mfcc)。
26.现有技术的关键词识别过程中需要进行多次时频转换,这会造成相关的算法延迟与处理延迟,时频相关模块的主要作用是实现时域和频域的转换,运算量很大且对存储需求量较大,对于在嵌入式蓝牙接收端部署关键词识别模块提出很大的挑战。另外,音频解码器中的长期后置滤波器处理的作用是改善人的听感,对降噪或关键词识别模块并无益处且运算量较大,所以,在上述应用场景中,完整的解码是不必要的。同时,现有技术在降噪过程中会引入非线性处理,这会导致关键词识别过程的准确性下降。
27.下面,以具体的实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面述及的具体的实施例可以相互结合形成新的实施例。对于在一个实施例中描述过的相同或相似的思想或过程,可能在其他某些实施例中不再赘述。下
面将结合附图,对本技术的实施例进行描述。
28.图2示出了本技术一种关键词识别方法的一个实施方式。
29.图2所示的关键词识别方法,包括:步骤s201,在信号接收端,将当前帧码流进行部分解码直至得到当前帧码流的离散余弦变换谱系数;
30.步骤s202,利用离散余弦变换谱系数计算得到当前帧码流的带噪语音特征,并将带噪语音特征输入预先训练的降噪神经网络模型中计算得到降噪增益;
31.步骤s203,利用降噪增益对离散余弦变换谱系数进行降噪处理,得到降噪离散余弦变换谱系数;
32.步骤s204,利用降噪离散余弦变换谱系数进行降噪谱系数特征提取,得到降噪离散余弦变换谱系数的降噪谱系数特征;以及,
33.步骤s205,在预先训练的识别神经网络模型中,根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。
34.该方法在进行关键词识别过程中不需要多次进行时频转换,减少关键词识别过程中的算力浪费、存储需求量大、算法延迟和系统延迟问题,改进降噪技术使降噪技术更适用于关键词的识别,同时减少不必要的解码步骤节省算力。
35.在图2所示的实施方式中,关键词识别方法包括步骤s201,在信号接收端,将当前帧码流进行部分解码直至得到当前帧码流的离散余弦变换谱系数。该步骤节省了不必要的解码步骤,节省了关键词识别过程中的算力,减少了存储需求。
36.具体的,在进行关键词识别时,首先将输入的pcm信号进行分帧,按帧进行解码等后续处理。以lc3解码器为例将每一帧信号通过算术及残差解码、噪声填充、全局增益、时域噪声整形解码和变换域噪声整形解码的处理得到当前帧的离散余弦变换谱系数x(k)。例如,将pcm信号划分为大小10ms,共160个采样点的信号帧,则在进行部分解码后得到离散余弦变换谱系数x(k),其中k=0,1,2,
…
,159。其中,因为减少了解码过程中的长期后置滤波解码步骤,实现了在不影响音频品质的条件下,减少算力需求和存储需求的目的,并且此处的pcm信号可以为包含噪声的语音数据,也可以为纯语音数据。
37.在图2所示的具体实施方式中,关键词识别方法,还包括步骤s202,利用离散余弦变换谱系数计算得到当前帧码流的带噪语音特征,并将带噪语音特征输入预先训练的降噪神经网络模型中计算得到降噪增益。该步骤通过改进降噪技术使降噪技术更适用于关键词的识别,同时不需要进行额外的时频转换减小了算力需求和存储需求,提高了系统的处理效率。
38.在本技术的一个具体实施例中,具体的降噪神经网络模型训练方式包括,将混合语音码流和纯净的关键词语音码流分别进行部分解码,得到混合语音码流的第一离散余弦变换谱系数和关键词语音码流的第二离散余弦变换谱系数;利用第一离散余弦变换谱系数计算得到带噪语音特征,并利用第二离散余弦变换谱系数计算得到无噪语音特征;将带噪语音特征和无噪语音特征输入到降噪神经网络模型中进行训练,使得降噪神经网络模型根据输入的所述带噪语音特征得到降噪增益。
39.具体的,如图4的离线训练过程,利用编码器将纯净的关键词语音和向该关键词语音中混合了噪音得到的混合语音分别进行编码得到混合语音码流和关键词语音码流,并将混合语音码流和关键词语音码流进行部分解码,得到对应的第一离散余弦变换谱系数和第
二离散余弦变换谱系数。如图4中的特征1提取步骤,根据第一离散余弦变换谱系数计算得到混合音频对应的带噪语音特征,如图4中的特征2提取步骤,利用第二离散余弦变换谱系数计算得到纯净的关键词语音对应的无噪语音特征。通过在降噪步骤中对比计算带噪语音特征和无噪语音特征得到应用在混合音频上的降噪增益。其中,降噪神经网络模型的选择本发明并不限制,考虑到语音帧的前后相关特性,优选的,选取循环神经网络模型(recurrent neural network,rnn)作为降噪神经网络模型。
40.在本技术的一个具体实施例中,分别获取混合语音码流的第一离散余弦变换谱系数中每一帧谱系数的子带带噪语音特征和关键词语音码流的第二离散余弦变换谱系数中对应帧的子带无噪语音特征;将子带带噪语音特征和子带无噪语音特征输入到降噪神经网络模型中进行训练,使得生成的降噪神经网络模型根据输入的一帧谱系数得到一帧谱系数中各个子带对应的子带增益。
41.进一步,利用第一离散余弦变换谱系数和第二离散余弦变换谱系数分别对当前帧混合语音码流和对应帧的关键词语音码流进行子带划分,得到对应的子带;利用子带的伪谱系数计算子带的子带能量,并利用子带能量计算得到子带对应的子带带噪语音特征或子带无噪语音特征。
42.具体的,子带带噪语音特征和子带无噪语音特征的计算方式相同,其具体的计算方式如下。
43.例如,当分帧得到的语音帧是采样率16khz、帧长10ms的音频帧时,将每帧的160个谱系数,按照巴克频率将其划分为17子带,其中子带序号记为subband=0,1,2,
…
,16,并且每个子带的谱系数个数为:4,4,4,4,4,4,4,4,8,8,8,8,16,16,16,24,24。
44.因为伪谱的特性与实际频率的分布具有更好的对应关系,因此计算每个子带对应的伪谱系数。其计算公式为:的伪谱系数。其计算公式为:其中x
pseudo
(k)表示每个子带对应的伪谱系数,x(k)为子带对应的离散余弦变换谱系数,ne为帧长。然后利用每个子带对应的伪谱系数计算子带对应的伪谱子带能量,其计算公式为:energy
subband
(b)=∑kx
pseudo
(k),其中b是子带序号,k是子带对应的伪谱系数序号。例如,当子带序号b=0时,对应的伪谱子带能量计算公式为energy
subband
(0)=x
pseud
(0)+x
pseudo
(1)+x
pse (2)+x
pseu (3)。
45.将计算得到每个伪谱子带能量进行对数变换,其计算公式为:energy
log
(m)=log(energy
subband
(m)),m=0,1,
…
,16。再利用计算得到的伪谱子带能量的对数变换结果进行离散余弦变换,得到离散余弦变换的结果bfcc。其具体的计算公式为
46.然后,利用bfcc计算得到当前帧的语音特征,即计算得到当前帧对应的17个子带的伪谱子带能量的离散余弦变换结果,并计算出17个子带的伪谱子带能量的离散余弦变换结果中前6个子带的伪谱子带能量的离散余弦变换结果的时间差分,将这6个时间差分和17个子带的伪谱子带能量的离散余弦变换结果作为当前帧所提取得到的特征数据,其中带噪语音特征和无噪语音特征的计算过程相同。
47.最后,利用伪谱子带能量的离散余弦变换结果和时间差分结果,通过降噪神经网
络模型计算降噪模块输出的增益。其具体计算公式为:bfcc
diff
(k)=bfcc
curr
(k)-bfcc
lastlast
(k),k=0,1,2,3,4,5,其中,bfcc
diff
(k)表示bfcc的一阶差分,bfcc
curr
(k)表示当前帧的第k个bfcc系数,bfcc
lastlast
(k)表示当前帧的上两帧音频帧的第k个bfcc系数,和公式bfcc
diff2
(k)=bfcc
curr
(k)-2*bfcc
last
(k)+bfcc
lastlast
(k),k=0,1,2,3,4,5,其中,bfcc
diff2
(k)表示bfcc的第k个二阶差分,bfcc
last
(k)表示上一帧的第k个bfcc系数。降噪模块的降噪神经网络模型的输出结果即是当前帧子带对应的子带增益,gain
nr
(b),b=0,1,2,
…
,16。
48.在图2所示的具体实施方式中,关键词识别方法,还包括步骤s203,利用降噪增益对离散余弦变换谱系数进行降噪处理,得到降噪离散余弦变换谱系数。该步骤能够在不进行时频转换的条件下进行音频的降噪处理,同时使得降噪处理更加适用于进行关键词识别。
49.在本技术的一个具体实施例中,具体的降噪处理过程包括,利用子带增益和子带对应的离散余弦变换谱系数之间的乘积,计算得到子带的降噪离散余弦变换谱系数;以及,将每个子带的降噪离散余弦变换谱系数进行拼接,得到当前帧码流的降噪离散余弦变换谱系数。该具体实施例,能够在不进行时频转换的条件下进行降噪处理,减少了计算量保证了音频质量,为后续进行关键词识别奠定基础。
50.例如,第一个子带的4个谱系数分别为x(0),x(1),x(2)和x(3)降噪模块计算得到的第一个子带的子带增益为gain
nr
(0),则应用子带增益降噪的计算方法为:x
′
(0)=x(0)*gain
nr
(0);x
′
(1)=x(1)*gain
nr
(0);x
′
(2)=x(2)*gain
nr
(0);x
′
(3)=x(3)*gain
nr
(0)。其中,x
′
(0),x
′
(1),x
′
(2)和x
′
(3)是降噪后的谱系数。
51.在图2所示的具体实施方式中,关键词识别方法,还包括步骤s204,利用降噪离散余弦变换谱系数进行降噪谱系数特征提取,得到降噪离散余弦变换谱系数的降噪谱系数特征。该步骤能够为进行关键词识别奠定基础,能够减少系统的延迟、算力的浪费和存储空间的浪费。
52.在本技术的一个具体实施例中,步骤s204,包括对降噪离散余弦变换谱系数进行预加重,得到加重后的降噪离散余弦变换谱系数;利用加重后的降噪离散余弦变换谱系数,生成加重后的降噪离散余弦变换谱系数的能量谱;计算能量谱经过梅尔滤波器组后的通道能量;以及,将通道能量进行对数变换,并利用计算结果进行离散余弦变换,将计算得到的梅尔频率倒谱系数作为降噪谱系数特征。该具体实施例,不需要多次进行时频转换,减少关键词识别过程中的算力浪费、存储需求量大、算法延迟和系统延迟。
53.具体的,在进行降噪谱系数特征的提取时首先要对降噪离散余弦变换谱系数进行预加重,现有技术中的预加重通常在时域进行,即在图1的音频预处理或音频后处理模块中实现,实现方式为:y[n]=x[n]-0.95*x[n-1],其中x[n]是当前输入的音频数据pcm采样点,x[n-1]是当前输入的上一个音频数据pcm采样点,y[n]是预加重(即时域滤波)的结果,现有技术的滤波器对应的频率响应如图3所示。本发明的预加重处理在频域实现,以16khz采样率为例,将预加重频率响应按照50hz间隔保存为预加重频率响应表:p(0),p(1),p(2),
…
,p(159)。当mdct的谱系数共160个,nf对应的值为160,则本技术的预加重过程为:重过程为:其中,为预加重的结果,
为当前帧的离散余弦变换谱系数,p(k)为预加重频率响应表。
[0054]
利用预加重的结果进行能量谱的计算,其具体过程为首先利用预加重的结果生成伪谱系数,具体公式为其中,k=0
…nf-1并且当k=-1或nf时,本发明不限制是否使用伪谱系数,例如直接使用mdct谱系数也能生成能量谱进行关键词识别,但由于mdct伪谱系数的能量分布与傅里叶变换谱系数的能量分布有更好的对应关系,因此使用伪谱来计算能量谱可以提高训练与识别的性能。利用伪谱系数计算得到能量谱,其具体的计算公式为:
[0055]
将计算得到的结果通过mel滤波器组进行滤波,即将频谱能量经过梅尔滤波器组进行滤波,并计算得到每个通道的能量。其具体的计算过程为:进行滤波,并计算得到每个通道的能量。其具体的计算过程为:其中,hm是第m个梅尔滤波器。
[0056]
将滤波后的频谱能量进行对数变换,其具体的计算方法为:mel
db
(m)=log(|energy
mel
(m)|),m=0,1,
…
,m-1。将对数变换的结果进行离散余弦变换生成梅尔频率倒谱系数(简称mfcc),梅尔频率倒谱系数即降噪谱系数特征。其具体计算过程为:其中d是mfcc特征的维数。
[0057]
在图2所示的具体实施方式中,关键词识别方法,还包括步骤s205,在预先训练的识别神经网络模型中,根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。该步骤使得关键词识别过程的应用范围更广,既可以用于低功耗蓝牙音频,也可以用于经典蓝牙或用于其他无线通信领域,同时利用降噪模块和关键词识别模块的联合处理,提升了噪声环境下关键词识别的性能,并且充分利用了音频解码器与现有的算法模块,避免了大量的时频转换运算,降低了系统的复杂度,便于在嵌入式系统实施,从而能够节省功耗,延长设备的使用时间,节省相关模块需要的存储空间,降低了设备的成本。
[0058]
具体的,如图4的在线推理过程,利用完成训练的识别神经网络模型对当前帧码流进行处理提取得到当前帧码流中的关键词,并利用识别得到的关键词控制家用电器等产品。其中,关键词识别过程和降噪处理过程利用神经网络进行处理,优选的,关键词识别模块的神经网络选择卷积神经网络(convolutional neural networks,cnn)。
[0059]
在本技术的一个具体实施例中,利用交叉熵损失函数进行降噪神经网络模型和识别神经网络模型的训练。该具体实施例,通过在两个模块都使用交叉熵损失函数,使得整个系统的关键词检测识别效率和准确性更高。
[0060]
具体的,在现有技术中降噪通常使用均方误差损失函数,使用均方误差损失函数会使系统输出的音频信号的信噪比达到最大化,从而起到降噪的效果,但这种方法对关键词识别过程中提高识别准确率和效率的作用较小。在现有技术中,关键词识别过程常使用交叉熵损失函数,使得关键词识别模块的识别结果能够提高关键词识别的效率和准确性。因此本技术利用交叉熵损失函数同时进行关键词识别处理过程和降噪处理过程,能够提高
关键词的识别过程的准确性和效率,在本技术中损失函数定义为:关键词的识别过程的准确性和效率,在本技术中损失函数定义为:其中y是关键词真实的标签,是关键词识别过程的输结果。
[0061]
在本技术的一个具体实施例中,模型的训练过程包括,根据识别得到的关键词和关键词语音中的关键词,调整降噪神经网络模型和识别神经网络模型的权重大小和偏置大小,直至识别得到关键词的正确率大于预定阈值,结束对降噪神经网络模型和识别神经网络模型的训练。
[0062]
具体的,当关键词识别过程的识别结果的正确率达到或超过预定阈值时,按照此时关键词检测模块与降噪模块的权重与偏置的配置数据进行关键词识别处理。
[0063]
在本技术的一个具体实施例中,本技术的具体处理过程如图4,在离线训练的过程中,首先通过将混有噪声的关键词语音和纯净的关键词语音分别进行分帧,将每一帧语音进行全部编码和部分解码,得到每一帧语音对应的混有噪声的关键词语音的离散余弦变换谱系数和关键词语音的离散余弦变换谱系数。将每一帧语音混有噪声的关键词语音的离散余弦变换谱系数和关键词语音的离散余弦变换谱系数分别进行如上述的特征提取步骤的处理得到带噪语音特征(特征1)和无噪语音特征(特征2)。通过带噪语音特征和无噪语音特征训练降噪模块,得到混有噪声时音频的子带增益,并在应用增益模块利用该子带增益对混有噪声的关键词语音的离散余弦变换谱系数进行降噪,利用降噪后的离散余弦变换谱系数提取降噪后的谱系数特征。利用降噪后的谱系数特征训练关键词识别模块,并在关键词识别模块根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。其中,为使离线训练的训练速度更快,离线训练时也可以使用音频数据经ld-mdct(逆离散余弦变换谱系数)变换后的谱系数,优选的,使用编码和部分解码后的离散余弦变换谱系数(ld-imdct谱系数)进行训练,这能够更好的匹配实际应用的场景。其中,通过对带有噪声的混合语音进行特征提取得到当前帧码流的帯噪语音特征,通过对关键词语音进行特征提取得到当前帧码流的无噪语音特征。
[0064]
如图4中的虚线,在完成关键词识别后根据关键词的识别结果后,将关键词的识别结果传递给关键词识别模块,关键词识别模块将系统的神经网络梯度相关信息传播给降噪模块,从而完成根据识别结果调节关键词识别模块和降噪模块中各参数的权重与偏置,使得降噪模块的输出结果更容易被关键词检测模块检测出来。
[0065]
当处于在线推理过程中时,在音频接收端,蓝牙通信模块在接收到当前帧的音频码流后将码流传递至部分解码模块,部分解码模块将码流解码至离散余弦变换谱系数。通过特征4提取模块(提取方法同特征1)提取得到带噪语音特征,利用降噪模块,通过带噪语音特征计算得到得到带噪语音特征对应的降噪增益。利用应用增益模块,根据计算得到的增益对当前帧码流的离散余弦变换谱系数进行降噪得到降噪离散余弦变换谱系数,通过特征5提取模块,利用当前帧的降噪离散余弦变换谱系数和预定帧数的历史帧降噪离散余弦变换谱系数识别得到降噪谱系数特征(方法与内容同特征3),利用降噪谱系数特征进行关键词的识别。根据识别出的关键词发出控制信号,控制家电进行相应的动作。其中,由于关键词一般为3~5个字,通常时长为1~1.5秒,以关键词的时长是1秒为例,如果帧长为10ms,则总共100帧,预定帧数的历史帧降噪离散余弦变换谱系数为99帧。
[0066]
图5示出了本技术一种关键词识别装置的具体实施方式。
[0067]
在图5所示的具体实施方式中,关键词识别装置主要包括:半解码模块501,用于在
信号接收端,将当前帧码流进行部分解码直至得到当前帧码流的离散余弦变换谱系数;
[0068]
降噪增益获取模块502,用于利用离散余弦变换谱系数计算得到当前帧码流的带噪语音特征,并将带噪语音特征输入预先训练的降噪神经网络模型中计算得到降噪增益;
[0069]
降噪模块503,用于利用降噪增益对离散余弦变换谱系数进行降噪处理,得到降噪离散余弦变换谱系数;
[0070]
降噪谱系数特征提取模块504,用于利用降噪离散余弦变换谱系数进行降噪谱系数特征提取,得到降噪离散余弦变换谱系数的降噪谱系数特征;以及,
[0071]
关键词识别模块505,用于在预先训练的识别神经网络模型中,根据当前帧的降噪谱系数特征和预定帧数的历史帧降噪谱系数特征进行关键词识别,得到语音码流中的关键词。
[0072]
本技术提供的关键词识别装置,可用于执行上述任一实施例描述的关键词识别方法,其实现原理和技术效果类似,在此不再赘述。
[0073]
在本技术的一个具体实施例中,本技术一种关键词识别装置中各功能模块可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
[0074]
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd-rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0075]
处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
[0076]
在本技术的另一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行上述实施例中描述的关键词识别方法。
[0077]
在本技术的一个具体实施方式中,一种计算机设备,其包括:至少一个处理器;以及与至少一个处理器进行通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机指令,至少一个处理器操作计算机指令以执行上述实施例中描述的关键词识别方法。
[0078]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0079]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0080]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。