1.本技术涉及计算机技术领域,特别是涉及一种基于音频
数据的处理方法、一种电子设备和一种机器可读介质。
背景技术:
2.针对流式的实时语音识别处理中,通常是采用基于神经网络的端到端的技术。实时语音识别通常采用前向计算的方式,即需要将当前时间点采集的语音与过去一段时间采集的语音进行拼接计算,并处理得到识别结果。
3.然而上述前向计算中,通过拼接计算进行处理的过程中,过去一段时间的语音会被反复计算,从而导致计算量较大,影响处理效率。
技术实现要素:
4.本技术实施例提供了一种基于音频数据的处理方法,以提高处理效率。
5.相应的,本技术实施例还提供了一种音频数据的识别理方法、一种音频数据的翻译理方法、一种电子设备和一种机器可读介质,用以保证上述方法的实现及应用。
6.相应的,本技术实施例公开了一种基于音频数据的处理方法,
所述方法包括:
7.获取流式输入的音频数据;
8.以设定长度对所述音频数据进行特征提取,确定对应特征向量;
9.采用
算子对所述特征向量进行计算,得到数据结果;
10.采用所述数据结果更新所述算子的结果
缓存;
11.采用所述算子执行对应网络层的处理,确定对应的音频处理结果。
12.可选的,所述采用所述数据结果更新所述算子的结果缓存,包括:
13.将所述数据结果添加到所述算子的结果缓存的末尾。
14.可选的,还包括:
15.若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;
16.若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
17.可选的,所述音频处理结果包括以下至少一种:音频识别结果、音频翻译结果。
18.本技术实施例还公开了一种音频数据的识别方法,所述方法包括:
19.获取待识别的音频数据;
20.将所述音频数据输入到识别模型中进行识别处理,输出识别结果;
21.其中,所述识别模型为神经网络模型,所述识别模型中至少一个网络层的算子依据输入执行以下更新步骤:
22.接收特征向量,所述特征向量依据设定长度的音频数据确定的;
23.对所述特征向量进行计算,得到数据结果;
24.采用所述数据结果更新结果缓存。
25.可选的,所述采用所述数据结果更新结果缓存,包括:
26.将所述数据结果添加到所述算子的结果缓存的末尾。
27.可选的,还包括:
28.若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;
29.若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
30.本技术实施例还公开了一种音频数据的翻译方法,所述方法包括:
31.获取待翻译的音频数据;
32.将所述音频数据输入到翻译模型中进行翻译处理,输出翻译结果;
33.其中,所述翻译模型为神经网络模型,所述翻译模型中至少一个网络层的算子依据输入执行以下更新步骤:
34.获取特征向量,所述特征向量依据设定长度的音频数据确定;
35.对所述特征向量进行计算,得到数据结果;
36.采用所述数据结果更新结果缓存。
37.可选的,所述采用所述数据结果更新网络层的算子,包括:
38.将所述数据结果添加到所述算子的结果缓存的末尾。
39.可选的,还包括:
40.若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;
41.若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
42.本技术实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例所述的方法。
43.本技术实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例所述的方法。
44.与现有技术相比,本技术实施例包括以下优点:
45.在本技术实施例中,可以获取流式输入的音频数据,然后以设定长度对所述音频数据进行特征提取,确定对应特征向量,从而能够对持续输入的音频数据进行处理,在输入算子前无需拼接,而是采用算子对所述特征向量进行计算,得到数据结果,算子中设置有结果缓存,可以采用所述数据结果更新结果缓存,能够减少计算量,然后可采用该算子执行网络层的处理,确定对应的音频处理结果,提高处理效率。
附图说明
46.图1是本技术实施例一种基于音频数据的处理示例的示意图;
47.图2是本技术的一种基于音频数据的处理方法实施例的步骤流程图;
48.图3是本技术的一种语音数据的识别方法实施例的步骤流程图;
49.图4是本技术实施例的语音识别方法中网络层算子的处理示例的步骤流程图;
50.图5是本技术的一种语音数据的翻译方法实施例的步骤流程图;
51.图6是本技术实施例的语音翻译方法中网络层算子的处理示例的步骤流程图;
52.图7是本技术一实施例提供的装置的结构示意图。
具体实施方式
53.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
54.本技术实施例可应用于音频处理领域,如语音识别、翻译等场景。可以针对流式的音频数据进行处理,其中,流式的音频数据可以理解为音频数据流,如实时语音数据等。在音频数据的处理领域中,针对音频数据的解析如识别、翻译等,需要依靠前面的音频数据进行解析。本技术实施例能够减少在音频解析处理中的计算量,提高处理效率。本技术的方案适用于基于risc-v指令集架构、及其他指令集架构的各种芯片,及物联网、工业控制等应用场景
55.其中,针对语音的处理如语音识别、翻译等场景中,语音可被被分割的最小单元称为音素。在语音场景中,前后音素是相互关联的,因此在语音处理中需要进行前向计算,即通常需要将当前时间点采集的音素和过去一段时间采集的音素拼接,送入到相应的神经网络模型中进行计算,获得处理结果。
56.本技术实施例的一种基于音频数据的处理示例的示意图如图1所示,可以执行如图2所示的步骤。
57.步骤202,获取流式输入的音频数据。
58.可以获取音频数据流,例如在实时语音识别场景中用户说话的音频数据等。本技术实施例中,流式输入可以理解为以数据流的方式进行输出,音频数据的输入是一个持续输入的过程。
59.步骤204,以设定长度对所述音频数据进行特征提取,确定对应特征向量。
60.音频数据进行流式的持续输入,可以输入到相应的音频处理模型中进行处理,例如语音识别模型、语音翻译模型等。音频处理模型接收到流式输入的音频数据之后,会按照设定长度进行处理,例如每20毫秒(ms)的一段音频数据作为一个片段进行处理,从而以设定长度对所述音频数据进行特征提取,得到该片段所对应的特征向量。从每设定长度的音频片段均可进行特征提取,得到相应的特征向量。
61.步骤206,采用算子对所述特征向量进行计算,得到数据结果。
62.本技术实施例中音频处理模型可以为各种神经网络模型,在神经网络模型中包括多个网络层,如卷积层、连接层等,每个网络层包括多个算子和模型计算图,基于模型计算图对算子进行处理得到相应网络层的处理结果,最终得到该音频处理模型的处理结果。针对网络层的算子可以对上一步的特征向量进行计算,得到对应的数据结果。例如,特征向量为1*6*256的向量,通过计算可得到数据结果为1*6*512的数据结果。
63.步骤208,采用所述数据结果更新所述算子的结果缓存。
64.在音频处理时通常是音素级别的处理,而音素处理中前后音素是相关联的,需要与之前输入的音频数据共同进行处理。因此,本技术实施例创造性的在算子中设置缓存,可称为结果缓存,从而之前已经计算得到的数据结果无需在重新计算,直接缓存在结果缓存即可,即在新的输入进入算子并进行计算后,将得到的数据结果添加到结果缓存中,更新该结果缓存。其中,可按照时序顺序对结果缓存进行更细,即数据结果放入结果缓存的末尾。相比于现有技术在输入前拼接向量,然后进行计算的方式,本技术实施例无需输入前拼接,从而减少了计算量,计算的数据结果添加到算子的结果缓存中,仍然可以输出相同的结果,
保证结果的准确性。
65.一个可选实施例中,所述采用所述数据结果更新所述算子的结果缓存,包括:将所述数据结果添加到所述算子的结果缓存的末尾。在采用数据结果对算子的结果缓存进行更新时,按照时序顺序将数据结果添加到结果缓存的末尾。
66.本技术实施例中,在采用前序的音频数据进行处理时,并不是所有的前序音频数据,通常是指定长度的,例如指定长度为n,相应设置算子的结果缓存的容量为n。因此,在采用数据结果更新算子的结果缓存时,若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。例如结果缓存是一个长度为n的队列,当队列未满时,数据结果存入队列的尾部,并且其他数据依次向前移动一个位置;当队列已满时,将队列中第一个数据删除,其他数据依次向前移动一个位置,然后将数据结果存入队列的尾部。
67.一个示例中,假设第二算子对应设置有一个1*42*256大小的结果缓存(代表140ms的数据特征),将算子记为c2,无需在输入算子前进行拼接,而是直接将新增数据输入到算子c2即可,在c2中完成计算后会进行缓存。初始化时,将算子c2中的结果缓存清零,如下表1为算子的结果缓存的一种更新示例:
68.0000000000000b100000b1b20000b1b2b3000b1b2b3b400b1b2b3b4b50b1b2b3b4b5b6b1b2b3b4b5b6b7b2b3b4b5b6b7b8
…………………
69.其中,bn为特征向量an经过算子计算得到的数据结果。
70.如上例中,当将特征向量a7作为新输入后,通过算子的计算得到数据结果b7,此时第二算子的缓存中以存储了a1至a6的计算结果b1至b6,因此只需要计算输入a7的计算结果b7即可,可将b2-b6依此向前移动一个位置,将b7放入最后。当将特征向量a8作为新输入后,通过算子的计算得到数据结果b8,此时第二算子的缓存中以存储了a1至a7的计算结果b1至b7,因此可丢弃b1,并将b2-b7依此向前移动一个位置,将b8放入最后,从而将第二算子中的缓存更新为b2至b8。依此类推,更新第二算子。
71.本技术实施例可对通用算子进行改造,即在通用算子中加入一个缓存,使用算子本身做缓存代替输入输出做缓存,可以避免输入前对数据进行缓存并重复计算的问题。
72.步骤210,采用所述算子执行对应网络层的处理,确定对应的音频处理结果。
73.通过上述方式得到算子的计算结果并更新结果缓存后,可以采用该算子执行网络层的处理。本技术实施例中,算子可为神经网络模型各个网络层的算子,如全连接层的算子,卷积层的算子,池化层的算子等各种支持带有带batch计算的算子,又如各类激活算子、batch_norm、layer_norm等均可使用上述实施例的方案。从而将算子在相应的网络侧中使
用,可以使用该算子的结果缓存中的数据,神经网络模型可对音频数据进行处理,得到相应的音频处理结果。例如神经网络模型为语音识别模型,则通过上述方式确定神经网络模型的算子并进行处理,最终可得到语音识别结果。又如神经网络模型为语音翻译模型,则通过上述方式确定神经网络模型的算子并进行处理,最终可得到语音翻译结果等。其中,batch是一个超参数,用于定义在更新内部模型参数之前要处理的样本数。将批处理视为循环迭代一个或多个样本并进行预测。
74.本技术实施例的算子计算方式,能够减少神经网络中网络层算子的计算量。以一种现有的流式asr场景为例进行对比,其算子的输入有两部分,一部分是当前时刻的输入,如为一个1*6*256大小的3维向量,另一部分是过去一段时间的输入,如为1*36*256大小的3位向量,假设其代表一段36/6*20=120ms的语音特征。在计算时首先将输入和缓存在向量的第二维度进行拼接,将两个输入拼接成一个1*42*256大小的向量,然后将第二维度认定为batch,输入算子c,在每个batch上进行计算,最后获得一个1*42*512大小的向量作为输出。此种方式是利用输入和输出做了缓存。在输出中,前1*36*512维的向量是对输入缓存的计算结果,后1*6*512维向量是对新输入的计算结果。那么这个过程中的计算量mac(multiply accumulate calculation,累乘加计算)数为42*256*512。其中,对缓存的mac数为36*256*512,对新输入的mac数为1*6*512。假设一段语音的长度为1000ms,每次新输入的数据为20ms,缓存是120ms。那么它可以分解成50次输入,则现有方案的计算量即总mac数是50*42*256*512。在该方案中缓存中的数据,需要算子反复进行计算,浪费了大量算力。再计算其内存访问次数,其在算子c计算时,每进行一次计算,需要访问一次输入和一次权重,内存访问次数为100*42*256*512=1075200*512。
75.而采用本技术的方案,总mac数为50*7*256*512。在算子计算时,每进行一次计算,需要访问一次输入和一次权重,另外计算结束后,要更新一次缓存,内存访问次数为100*(7*256*512+96*7*512)=246400*512。可见,现有方案的访问次数是本技术实施例的访问次数的4.3倍。计算量的6倍。
76.综上,假设缓存大小为[1*a1*b],新输入大小为[1*a2*b],本技术实施例的方案与现有方案相比,计算量比为a2/(a1+a2),内存访问量比为(a2*(a1+b))/((a1+a2)*b)。
[0077]
本技术实施例可以获取流式输入的音频数据,然后以设定长度对所述音频数据进行特征提取,确定对应特征向量,从而能够对持续输入的音频数据进行处理,在输入算子前无需拼接,而是采用算子对所述特征向量进行计算,得到数据结果,算子中设置有结果缓存,可以采用所述数据结果更新结果缓存,能够减少计算量,然后可采用该算子执行网络层的处理,确定对应的音频处理结果,提高处理效率。
[0078]
本技术实施例首次创造性的提出在算子中添加缓存的方式,进行流式数据的模型的计算,可以去除大量的重复计算过程、减少内存访问。并且,可应用于多种神经网络,对对多种神经网络算子进行改造,通用性较高。
[0079]
在上述实施例的基础上,本技术实施例还提供了一种语音识别方法,能够针对实时语音识别等流式语音数据的识别中,提高语音识别的效率。可应用于智能音箱等实时语音识别、响应设备中,也可应用于基于实时语音的其他软件或硬件产品中,如车载设备、会议应用程序、带屏音箱等。
[0080]
参照图3,示出了本技术的一种音频数据的识别方法实施例的步骤流程图。
[0081]
步骤302,获取待识别的音频数据。
[0082]
可以获取实时输入的语音数据作为待识别的音频数据,也可获取其他待识别的音频数据,如录音的音频数据等。
[0083]
步骤304,将所述音频数据输入到识别模型中进行识别处理,输出识别结果。
[0084]
本技术实施例中,所述识别模型为神经网络模型,可对该识别模型的网络层可包括卷积层、池化层、全连接层中的至少一个,可以对网络层的算子进行改进,在算子中添加缓存,从而基于新输入的计算结果可以存入到缓存中,更新算子的计算结果,减少识别模型中各网络层的计算量,提高该识别模型的处理效率。
[0085]
所述识别模型中至少一个网络层的算子依据输入执行以下更新步骤,如图4所示:
[0086]
步骤3042,接收特征向量,所述特征向量依据设定长度的音频数据确定的。
[0087]
可以获取该特征向量,该特征向量可依据设定长度的音频数据确定,如为对设定长度的音频数据进行特征提取确定的。例如将实时语音数据等输入识别模型,识别模型持续接收到语音数据,可对持续接收的语音数据进行处理如特征提取等得到特征向量。该特征向量也可为上一层网络处理得到的新输入的特征向量等。
[0088]
步骤3044,对所述特征向量进行计算,得到数据结果。
[0089]
步骤3046,采用所述数据结果更新结果缓存。
[0090]
其中,所述采用所述数据结果更新结果缓存,包括:将所述数据结果添加到所述算子的结果缓存的末尾。若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
[0091]
在网络层的算子处理中,针对新输入的特征向量进行计算,得到数据结果,然后可采用数据结果更新该网络层的算子的结果缓存,即将所述数据结果作为结果缓存的一个数据,添加到结果缓存的末尾,相应结果缓存中的其他数据依次向前移动,从而更新结果缓存中所存储的该算子的计算结果。在此种情况下,如果结果缓存未存满,则其他数据向前移动一个位置即可,若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,除第一个数据之外的其他数据向前移动一个位置,从而空出末尾的位置给数据结果,完成结果缓存的更新。然后该网络层可基于该算子执行相应的处理。对于识别模型中各网络层,可按照上述方式进行处理,直到得到最终的识别结果。从而减少了网络层的计算量,提高了识别效率。
[0092]
在上述实施例的基础上,本技术实施例还提供了一种语音翻译方法,能够针对语音数据进行翻译,如实时翻译等流式语音数据的翻译场景中,提高语音翻译的效率。可应用于各种翻译设备,如翻译笔等。
[0093]
参照图5,示出了本技术的一种音频数据的翻译方法实施例的步骤流程图。
[0094]
步骤502,获取待翻译的音频数据。
[0095]
可以获取实时输入的语音数据作为待翻译的音频数据,例如通过录音笔、翻译笔等设备实时采集语音数据并进行实时翻译。也可获取其他待翻译的音频数据,如录音的音频数据等。
[0096]
步骤504,将所述音频数据输入到翻译模型中进行识别处理,输出翻译结果。
[0097]
本技术实施例中,所述翻译模型为神经网络模型,可对该翻译模型的网络层可包
括卷积层、池化层、全连接层中的至少一个,可以对网络层的算子进行改进,在算子中添加缓存,从而基于新输入的计算结果可以存入到缓存中,更新算子的计算结果,减少翻译模型中各网络层的计算量,提高该翻译模型的处理效率。
[0098]
所述翻译模型中至少一个网络层的算子依据输入执行以下更新步骤,如图6所示:
[0099]
步骤5042,接收特征向量,所述特征向量依据设定长度的音频数据确定的。
[0100]
可以获取该特征向量,该特征向量可依据设定长度的音频数据确定,如为对设定长度的音频数据进行特征提取确定的。例如将实时语音数据等输入翻译模型,翻译模型持续接收到语音数据,可对持续接收的语音数据进行处理如特征提取等得到特征向量。该特征向量也可为上一层网络处理得到的新输入的特征向量等。
[0101]
步骤5044,对所述特征向量进行计算,得到数据结果。
[0102]
步骤5046,采用所述数据结果更新结果缓存。
[0103]
其中,所述采用所述数据结果更新结果缓存,包括:将所述数据结果添加到所述算子的结果缓存的末尾。若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
[0104]
在网络层的算子处理中,针对新输入的特征向量进行计算,得到数据结果,然后可采用数据结果更新该网络层的算子的结果缓存,即将所述数据结果作为结果缓存的一个数据,添加到网络层的算子的结果缓存的末尾,相应结果缓存中的其他数据依次向前移动。在此种情况下,如果结果缓存未存满,则其他数据向前移动一个位置即可,若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,除第一个数据之外的其他数据向前移动一个位置,从而空出末尾的位置给数据结果,完成结果缓存的更新。然后该网络层可执行相应的处理。对于识别模型中各网络层,可按照上述方式进行处理,直到得到最终的翻译结果。从而减少了网络层的计算量,提高了翻译效率。
[0105]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
[0106]
在上述实施例的基础上,本实施例还提供了一种基于音频数据的处理装置,应用于终端设备、服务端(集)的电子设备中。
[0107]
获取模块,用于获取流式输入的音频数据;
[0108]
提取模块,用于以设定长度对所述音频数据进行特征提取,确定对应特征向量;
[0109]
算子更新模块,用于采用算子对所述特征向量进行计算,得到数据结果;采用所述数据结果更新所述算子的结果缓存;
[0110]
处理模块,用于采用所述算子执行网络层的处理,确定对应的音频处理结果。
[0111]
相比于现有技术在输入前拼接向量,然后进行计算的方式,本技术实施例无需输入前拼接,从而减少了计算量,计算的数据结果添加到算子的结果缓存中,仍然可以输出相同的结果,保证结果的准确性。
[0112]
综上,可以获取流式输入的音频数据,然后以设定长度对所述音频数据进行特征
提取,确定对应特征向量,从而能够对持续输入的音频数据进行处理,在输入算子前无需拼接,而是采用算子对所述特征向量进行计算,得到数据结果,算子中设置有结果缓存,可以采用所述数据结果更新结果缓存,能够减少计算量,然后可采用该算子执行网络层的处理,确定对应的音频处理结果,提高处理效率。
[0113]
可选的,所述算子更新模块,用于将所述数据结果添加到所述算子的结果缓存的末尾。若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
[0114]
所述音频处理结果包括以下至少一种:音频识别结果、音频翻译结果。
[0115]
本技术实施例首次创造性的提出在算子中添加缓存的方式,进行流式数据的模型的计算,可以去除大量的重复计算过程、减少内存访问。并且,可应用于多种神经网络,对对多种神经网络算子进行改造,通用性较高。
[0116]
本技术实施例可对通用算子进行改造,即在通用算子中加入一个缓存,使用算子本身做缓存代替输入输出做缓存,可以避免输入前对数据进行缓存并重复计算的问题。
[0117]
在上述实施例的基础上,本实施例还提供了一种音频数据的识别装置,应用于终端设备、服务端(集)的电子设备中。
[0118]
数据获取模块,用于获取待识别的音频数据;
[0119]
识别模块,用于将所述音频数据输入到识别模型中进行识别处理,输出识别结果;
[0120]
其中,所述识别模型为神经网络模型,所述识别模块,用于对识别模型中至少一个网络层的算子依据输入执行以下更新步骤:接收特征向量,所述特征向量依据设定长度的音频数据确定的;对所述特征向量进行计算,得到数据结果;采用所述数据结果更新结果缓存。
[0121]
所述识别模块,用于将所述数据结果添加到所述算子的结果缓存的末尾。若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
[0122]
能够针对实时语音识别等流式语音数据的识别中,提高语音识别的效率。可应用于智能音箱等实时语音识别、响应设备中,也可应用于基于实时语音的其他软件或硬件产品中,如车载设备、会议应用程序、带屏音箱等。
[0123]
在上述实施例的基础上,本实施例还提供了一种音频数据的翻译装置,应用于终端设备、服务端(集)的电子设备中。
[0124]
音频获取模块,用于获取待翻译的音频数据;
[0125]
翻译模块,用于将所述音频数据输入到翻译模型中进行翻译处理,输出翻译结果;
[0126]
其中,所述翻译模型为神经网络模型,所述翻译模块,用于对翻译模型中至少一个网络层的算子依据输入执行以下更新步骤:接收特征向量,所述特征向量依据设定长度的音频数据确定;对所述特征向量进行计算,得到数据结果;采用所述数据结果更新结果缓存。
[0127]
所述翻译模块,用于将所述数据结果添加到所述算子的结果缓存的末尾。若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。
[0128]
能够针对语音数据进行翻译,如实时翻译等流式语音数据的翻译场景中,提高语
音翻译的效率。可应用于各种翻译设备,如翻译笔等。
[0129]
本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
[0130]
本技术实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集)等各类型的设备。
[0131]
本技术实施例提供了的电子设备所采用的处理其可基于risc-v的指令集设计,risc-v是一种开源指令集,其可以应用于单片机和fpga芯片等方面,也可应用在物联网安全、工业控制、手机、个人计算机等领域。例如,电子设备的处理器的芯片可为采用risc-v指令集设计的芯片,配置指令,可基于指令执行可执行代码,实现上述实施例的方法。
[0132]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括数据中心内的终端设备、服务器(集)等电子设备。图7示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置700。
[0133]
对于一个实施例,图7示出了示例性装置700,该装置具有一个或多个处理器702、被耦合到(一个或多个)处理器702中的至少一个的控制模块(芯片组)704、被耦合到控制模块704的存储器706、被耦合到控制模块704的非易失性存储器(nvm)/存储设备708、被耦合到控制模块704的一个或多个输入/输出设备710,以及被耦合到控制模块704的网络接口712。
[0134]
处理器702可包括一个或多个单核或多核处理器,处理器702可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置700能够作为本技术实施例中所述终端设备、服务器(集)等设备。
[0135]
在一些实施例中,装置700可包括具有指令714的一个或多个计算机可读介质(例如,存储器706或nvm/存储设备708)以及与该一个或多个计算机可读介质相合并被配置为执行指令714以实现模块从而执行本公开中所述的动作的一个或多个处理器702。
[0136]
对于一个实施例,控制模块704可包括任意适当的接口控制器,以向(一个或多个)处理器702中的至少一个和/或与控制模块704通信的任意适当的设备或组件提供任意适当的接口。
[0137]
控制模块704可包括存储器控制器模块,以向存储器706提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0138]
存储器706可被用于例如为装置700加载和存储数据和/或指令714。对于一个实施例,存储器706可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器706可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
[0139]
对于一个实施例,控制模块704可包括一个或多个输入/输出控制器,以向nvm/存储设备708及(一个或多个)输入/输出设备710提供接口。
[0140]
例如,nvm/存储设备708可被用于存储数据和/或指令714。nvm/存储设备708可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
[0141]
nvm/存储设备708可包括在物理上作为装置700被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备708可通过网络经由(一个或多个)输入/输出设备710进行访问。
[0142]
(一个或多个)输入/输出设备710可为装置700提供接口以与任意其他适当的设备通信,输入/输出设备710可以包括通信组件、音频组件、传感器组件等。网络接口712可为装置700提供接口以通过一个或多个网络通信,装置700可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0143]
对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
[0144]
在各个实施例中,装置700可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置700可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置700包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
[0145]
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
[0146]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0147]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0148]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0149]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0150]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得
在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0151]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0152]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0153]
以上对本技术所提供的一种基于音频数据的处理方法、一种音频数据的识别方法、一种音频数据的翻译方法、一种终端设备和一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种基于音频数据的处理方法,其特征在于,所述方法包括:获取流式输入的音频数据;以设定长度对所述音频数据进行特征提取,确定对应特征向量;采用算子对所述特征向量进行计算,得到数据结果;采用所述数据结果更新所述算子的结果缓存;采用所述算子执行对应网络层的处理,确定对应的音频处理结果。2.根据权利要求1所述的方法,其特征在于,所述采用所述数据结果更新所述算子的结果缓存,包括:将所述数据结果添加到所述算子的结果缓存的末尾。3.根据权利要求2所述的方法,其特征在于,还包括:若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。4.根据权利要求1所述的方法,其特征在于,所述音频处理结果包括以下至少一种:音频识别结果、音频翻译结果。5.一种音频数据的识别方法,其特征在于,所述方法包括:获取待识别的音频数据;将所述音频数据输入到识别模型中进行识别处理,输出识别结果;其中,所述识别模型为神经网络模型,所述识别模型中至少一个网络层的算子执行以下更新步骤:接收特征向量,所述特征向量依据设定长度的音频数据确定的;对所述特征向量进行计算,得到数据结果;采用所述数据结果更新结果缓存。6.根据权利要求5所述的方法,其特征在于,所述采用所述数据结果更新结果缓存,包括:将所述数据结果添加到所述算子的结果缓存的末尾。7.根据权利要求6所述的方法,其特征在于,还包括:若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。8.一种音频数据的翻译方法,其特征在于,所述方法包括:获取待翻译的音频数据;将所述音频数据输入到翻译模型中进行翻译处理,输出翻译结果;其中,所述翻译模型为神经网络模型,所述翻译模型中至少一个网络层的算子执行以下更新步骤:接收特征向量,所述特征向量依据设定长度的音频数据确定;对所述特征向量进行计算,得到数据结果;采用所述数据结果更新结果缓存。9.根据权利要求8所述的方法,其特征在于,所述采用所述数据结果更新结果缓存,包
括:将所述数据结果添加到所述算子的结果缓存的末尾。10.根据权利要求9所述的方法,其特征在于,还包括:若所述结果缓存未存满,则将所述结果缓存中的其他数据依次向前移动;若所述结果缓存已存满,则将所述结果缓存中的第一个数据丢弃,并将其他数据依次向前移动。11.一种电子设备,其特征在于,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-10中任一项所述的方法。12.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-10中任一项所述的方法。
技术总结
本申请实施例提供了一种基于音频数据的处理方法、设备和可读介质。本申请的方案适用于基于RISC-V指令集架构、及其他指令集架构的各种芯片,及物联网、工业控制等应用场景。所述方法包括:获取流式输入的音频数据;以设定长度对所述音频数据进行特征提取,确定对应特征向量;采用算子对所述特征向量进行计算,得到数据结果;采用所述数据结果更新所述算子的结果缓存;采用所述算子执行对应网络层的处理,确定对应的音频处理结果。在算子中添加结果缓存,能够将新输入计算的数据结果更新到结果缓存中,避免重复计算,减少计算量,从而提高语音处理的效率。处理的效率。处理的效率。
技术研发人员:
赵翔宇
受保护的技术使用者:
杭州中天微系统有限公司
技术研发日:
2022.03.28
技术公布日:
2022/7/29