技术简介:
本专利针对车辆座舱语音处理中多算法重复提取特征导致CPU资源浪费的问题,提出通过合并不同功能语音算法的特征提取过程,统一缓存特征数据,并基于预设参数调用声学模型进行计算,最终并行解码汇总结果的解决方案,有效降低CPU占用率,提升处理效率。
关键词:语音处理优化,特征复用
1.本技术涉及智能语音技术领域,尤其涉及一种语音处理方法及服务器。
背景技术:2.语音交互是基于语音输入的新一代交互模式。随着汽车工业和人机交互技术的不断发展,智能汽车也为用户提供了语音交互功能。
3.相关技术中,智能汽车可以搭载语音助手来提供自然的人机交互,用户在车内不仅能够通过语音控制导航、音乐等车载软件,还能够控制车窗、空调等车内硬件。
4.然而,由于语音应用对实时性具有较高的要求,各类语音算法例如语音识别算法、声纹识别算法、语音唤醒算法等功能算法在数据处理中会涉及较大的计算量,尤其是有多个算法同步处理时,会占据较高的cpu资源,容易对同时执行的其他应用造成卡顿,影响其他应用的数据处理效率。
技术实现要素:5.为解决或部分解决相关技术中存在的问题,本技术提供一种语音处理方法及服务器,能够使各语音算法对语音信号合并进行特征提取,避免重复操作,减少对cpu资源的占用。
6.本技术第一方面提供一种语音处理方法,其包括:接收车辆转发的座舱内音区的语音信号;将不同功能的语音算法合并提取语音信号的特征,获得特征提取结果并进行缓存;分别按照各语音算法的预设配置参数,调用缓存中的特征提取结果并通过声学模型计算,获得对应的声学计算结果;分别将各声学计算结果输入对应的语音算法的解码模块进行解码,并将各解码结果进行汇总,获得语音处理结果并发送至所述车辆。通过各算法对语音信号合并进行特征提取,避免重复操作,减少对cpu资源的占用。
7.在本技术的语音处理方法中,所述将不同功能的语音算法合并提取语音信号的特征,包括:在对应的音区中,将不同功能的语音算法按照预设格式合并提取所述语音信号中的特征。针对不同的音区,服务器中可以分别进行特征提取并相互独立设置对应的特征提取的格式,互不干扰,满足多方位的特征提取需求。
8.在本技术的语音处理方法中,所述分别按照各语音算法的预设配置参数,调用缓存中的特征提取结果,包括:根据各语音算法的预设配置参数,调用缓存中对应帧数的特征提取结果进行拼接,生成对应的特征矩阵;其中,所述预设配置参数包括拼接帧数、填充帧数、填充行为、间隔帧数中的至少一种。可以按照预设配置参数,满足不同声学模型的特征矩阵输入需求,通过简单设置参数即可实现,精简矩阵拼接方案。
9.在本技术的语音处理方法中,所述根据对应的语音算法的预设配置参数,调用缓存中对应帧数的特征提取结果进行拼接,生成对应的特征矩阵,包括:在接收到新的语音信号时,分别根据特征拼接接口调用缓存中的特征提取结果;当所述特征提取结果满足至少一种语音算法的预设配置参数时,根据所述特征拼接接口中的拼接函数生成对应的特征矩
阵。根据随到随算的流式计算,各语音算法相互无需等待,各自独立进行,满足语音技术的时效性要求。
10.在本技术的语音处理方法中,在所述分别将各声学计算结果输入对应的语音算法的解码模块进行解码之前,还包括:分别确定对应的语音算法是否获得特征矩阵;若确定所述语音算法获得对应的特征矩阵,则根据声学模型输出的声学计算结果进行解码。通过判断前端的特征矩阵是否有效生成,再对应确定是否需要解码,避免无效调动解码模块,节约cpu资源。
11.在本技术的语音处理方法中,所述接收车辆转发的座舱内音区的语音信号,包括:分别接收车辆转发的座舱内各音区的语音信号;所述将不同功能的语音算法合并提取语音信号的特征,包括:根据不同功能的语音算法,将源自同一音区的语音信号合并提取语音信号的特征。通过服务器区分不同音区的语音信号处理,且各音区对应的语音信号均只用进行一次特征提取,节约cpu资源的同时,避免干扰,确保最终的语音处理结果的准确性。
12.在本技术的语音处理方法中,所述通过声学模型计算,获得对应的声学计算结果,包括:根据预设神经网络处理引擎的计算接口,分别调用对应的声学子模型进行计算,获得对应的语音算法的声学计算结果。通过将声学模型移植到专业的神经网络处理引擎进行计算,减少对cpu资源的占用,且不同语音算法具有各自的声学子模型,独立并行计算,提高计算效率。
13.在本技术的语音处理方法中,所述方法还包括:当所述座舱内的音区数量为多个时,预先设置单个所述音区各自对应的声学模型,或多个所述音区共同对应的声学模型。通过在服务器中对各音区独立设置或共同设置声学模型,实现灵活搭建模型架构。
14.本技术第二方面提供一种服务器,其包括:信息收发模块用于接收车辆转发的座舱内音区的语音信号;特征提取模块用于将不同功能的语音算法合并提取语音信号的特征,获得特征提取结果并进行缓存;声学模型计算模块用于分别按照各语音算法的预设配置参数,调用缓存中的特征提取结果并通过声学模型计算,获得对应的声学计算结果;解码模块用于分别根据各声学计算结果进行解码,并将各解码结果进行汇总,获得语音处理结果,并通过所述信息收发模块将语音处理结果发送至所述车辆。本技术的服务器,可以在减少占用cpu资源的同时,提高语音处理效率。
15.本技术第三方面提供一种服务器,包括:
16.处理器;以及
17.存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
18.本技术第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被服务器的处理器执行时,使所述处理器执行如上所述的方法。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
20.通过结合附图对本技术示例性实施方式进行更详细地描述,本技术的上述以及其他目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号
通常代表相同部件。
21.图1是本技术示出的语音处理方法的流程示意图;
22.图2是本技术示出的语音处理方法的流程示意图;
23.图3是本技术示出的服务器的结构示意图;
24.图4是本技术示出的服务器的结构示意图;
25.图5是本技术示出的服务器在单个音区中的结构示意图;
26.图6是本技术示出的服务器的结构示意图。
具体实施方式
27.下面将参照附图更详细地描述本技术的实施方式。虽然附图中显示了本技术的实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
28.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术可能采用术语“第一”、“第三”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第三信息,类似地,第三信息也可以被称为第一信息。由此,限定有“第一”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
30.相关技术中,当有语音识别、声纹识别、语音唤醒等多个功能算法对同一语音数据进行同步处理时,会占据较高的cpu资源,容易对同时执行的其他应用造成卡顿。
31.针对上述问题,本技术提供一种语音处理方法,能够使各语音算法对语音信号进行共同的特征提取,避免重复操作,减少对cpu资源的占用。
32.以下结合附图详细描述本技术的技术方案。
33.图1是本技术示出的语音处理方法的流程示意图。
34.参见图1,本技术示出的一种语音处理方法,其包括:
35.s110,接收车辆转发的座舱内音区的语音信号。
36.车辆的座舱内音区的数量可能是一个,也可能是多个。本步骤中,当执行主体是服务器时,分别接收来自不同音区的语音信号。例如接收车辆转发的座舱内主驾音区、副驾音区、后排左侧音区、后排右侧音区、前排音区、后排音区等不同音区的语音信号,车辆座舱内的音区设置方式于此仅举例说明,不作限制。可以理解,各音区独立设置,服务器将接收到的不同音区的语音信号分别独立处理。
37.s120,将不同功能的语音算法合并提取语音信号的特征,获得特征提取结果并进行缓存。
38.为了对语音信号进行更全面的分析,需要采用不同功能的语音算法分别处理。不
同功能的语音算法例如可以是语音识别算法、语音唤醒算法、声纹识别算法等,于此不作限制。各语音算法为了实现对应的功能,需要对语音信号进行特征提取。为了减少对cpu的资源占用,本步骤中,各功能的语音算法无需分别对语音信号进行提取,即可以合并特征提取的动作,只需对语音信号进行一次提取,无需重复进行特征提取,获得的特征提取结果可以应用于各功能的语音算法,从而降低cpu的计算资源。
39.进一步地,本步骤中,例如可以采用相关技术中提取语音信号中的mfcc(mel frequency cepstral coefficents,在mel标度频率域提取出来的倒谱参数)或fbank(filterbanks,在能量谱上应用mel滤波器组得到的声学特征)等语音特征向量,即获得特征提取结果。
40.在接收到来自车辆转发的语音信号后,为了确保时效性,可以实时进行特征提取,并将特征提取结果缓存,以便后续步骤可以根据不同语音算法的计算需求,调用不同帧数的特征提取结果。可以理解,缓存中存储有一帧以上的语音信号对应的特征提取结果。
41.s130,分别按照各语音算法的预设配置参数,调用缓存中的特征提取结果并通过声学模型计算,获得对应的声学计算结果。
42.本步骤中,各语音算法实现的功能不同,需要不同的声学模型进行计算,故而需要输入各声学模型计算的特征提取结果帧数可能不同。基于此,各语音算法具有对应预设的配置参数。基于缓存中按照时序存储的特征提取结果,可以根据各语音算法对应的预设配置参数,将对应帧数的特征提取结果处理成各语音算法的声学模型所需要的输入数据。
43.具体地,预设配置参数可以包括拼接帧数、填充帧数、填充行为、间隔帧数等。根据这些配置参数,即可在缓存中调用对应帧数的特征提取结果进行处理,形成特征矩阵,即可获得对应的声学模型所需要的输入数据,使各声学模型根据特征矩阵计算获得声学计算结果。
44.不同语音算法对应的声学模型的声学计算结果不同,例如,针对语音识别功能的语音算法,通过对应的声学模型计算,可以获得音素特征序列和对应的概率;针对语音唤醒功能的语音算法,通过对应的声学模型计算,可以获得唤醒词的音素特征序列和对应的概率;针对声纹识别功能的语音算法,通过对应的声学模型计算,可以获得说话者的人员特征序列和对应的概率,于此仅举例说明,并不限制各声学模型在实际应用中的声学计算结果的类型。
45.s140,分别将各声学计算结果输入对应的语音算法的解码模块进行解码,并将各解码结果进行汇总,获得语音处理结果并发送至车辆。
46.本步骤中,各功能的语音算法分别采用不同的解码模块进行解码。例如在相关技术中,语音识别功能的语音算法主要是在对应的解码图上对声学模型计算得到的后验概率进行维特比解码;语音唤醒功能的语音算法主要是在对应的解码图上对声学模型计算得到的后验概率进行维特比解码;声纹识别功能的语音算法主要是通过计算余弦相似度进行解码,于此仅举例说明,各解码模块的实际解码方案于此不作限制。
47.通过将各声学计算结果输入对应的解码模块进行解码,分别获得各解码模块输出的解码结果。可以理解,由于每个解码模块的运行时间和运行时长不同,可能存在个别解码模块因缺少有效的输入数据而无法启动解码的情形,为了确保用户体验的时效性,可以根据当前时间已经获得的解码结果进行汇总,生成对应的语音处理结果并及时发送至车辆。
48.可以理解,根据来自不同音区的语音信号,分别根据上述步骤s120至s140进行处理,获得对应的语音处理结果。即服务器对来自不同音区的语音信号分别进行独立处理。
49.从该示例可知,本技术的语音处理方法,通过分别接收车辆转发的各音区的语音信号,将不同语音算法合并提取每一个音区的语音信号,无需每种语音算法分别对语音信号单独进行特征提取,减少重复操作,继而减少对cpu资源的占用;另外,只需调整预设配置参数,即可调用缓存中不同的特征提取结果作为输入,根据对应的声学模型计算获得声学计算结果,易于扩展新功能的语音算法;同时,通过各语音算法的解码模块各自独立地进行解码,无需等待,确保输出解码结果的实时性,提高cpu的资源利用率,最后将即时生成的解码结果进行汇总并及时发送至车辆,提高用户体验。
50.图2是本技术示出的语音处理方法的流程示意图。
51.参见图2,本技术示出的一种语音处理方法,其包括:
52.s210,分别接收车辆转发的座舱内各音区的语音信号。
53.其中,本语音处理方法的执行主体可以是服务器,服务器可以实时接收车辆转发的语音信号。基于各音区相互独立,各音区通过各自对应的麦克风采集语音信号并由车辆中实时转发至服务器,服务器可以在同一时间接收到不同音区的语音信号。
54.s220,根据不同功能的语音算法,将源自同一音区的语音信号合并提取语音信号的特征,获得特征提取结果并进行缓存。
55.服务器中可以预先加载不同功能的语音算法的引擎,例如语音识别算法引擎,声纹识别算法引擎、语音唤醒算法引擎等。各语音算法的算法引擎共用同一特征提取模块,每一特征提取模块与一个音区进行映射,通过同一特征提取模块对来自同一音区的语音信号进行特征提取,同一语音信号只需通过特征提取模块进行一次特征提取,无需重复进行。不同音区的语音信号对应获得的特征提取结果可以分开缓存,避免混淆。
56.进一步地,在对应的音区中,将不同功能的语音算法按照预设格式合并提取语音信号中的特征。也就是说,针对来自单个音区的语音信号,在各语音算法采用同一特征提取模块合并进行特征提取时,可以提取获得预设格式的特征提取结果。针对不同音区的语音信号,可以分别设置各自提取的特征提取结果的预设格式。例如特征提取结果的预设格式可以是mfcc(mel frequency cepstral coefficents,在mel标度频率域提取出来的倒谱参数)特征向量或fbank(filterbanks,在能量谱上应用mel滤波器组得到的声学特征)特征向量。例如各音区对应的特征提取结果统一使用80维一阶fbank特征,于此仅举例说明,不同的音区对应的特征提取结果可以使用相同或不同的预设格式。
57.s230,根据各语音算法的预设配置参数,调用缓存中对应帧数的特征提取结果进行拼接,生成对应的特征矩阵。
58.其中,各语音算法的预设配置参数包括拼接帧数、填充帧数、填充行为、间隔帧数中的至少一种。其中,拼接帧数是指将分帧后的语音帧的拼接数量;填充帧数是指在语音帧的左边或右边的填充帧数;填充行为包括补零或复制;间隔帧数是指没两帧特征之间的间隔帧数。当然,还可以包括其他配置参数,于此不作限制。可以理解,通过不同的语音算法对应的预设配置参数的具体值,可以设定具体的拼接行为,从而拼接获得不同的特征矩阵,满足不同语音算法的声学模型的特征输入格式需求。可选地,通过调整配置参数,即可便捷地扩展新的语音算法,丰富人机交互的功能模块。
59.可选地,在将同一音区的特征提取结果进行特征拼接之前,可以采用cmvn(cepstral mean and variance normalization,均值方差归一化)对各特征提取结果(例如语音特征向量)进行归一化处理。具体地,在获得语音特征向量以后,将各语音特征向量从一个空间转变成另一个空间,使得在这个空间下的特征参数更符合某种概率分布,压缩了特征参数值域的动态范围,获得更标准的语音特征向量,从而有助于提升后续步骤的声学模型的预测结果的鲁棒性。
60.进一步地,在接收到新的语音信号时,分别根据特征拼接接口调用缓存中的特征提取结果;当特征提取结果满足至少一种语音算法的预设配置参数时,根据特征拼接接口中的拼接函数生成对应的特征矩阵。其中,可以在每个音区对应的特征提取模块中分别设置特征拼接接口,并在各特征拼接口中分别预先定义拼接函数,拼接函数用于根据各语音算法对应的预设配置参数在缓存中调用对应帧数的特征提取结果,并将各特征提取结果拼接为对应的声学模型所需的特征矩阵。
61.也就是说,基于流式计算方式,随着服务器实时接收新的语音信号,特征提取模块相应实时对语音信号进行特征提取并生成特征提取结果。由于缓存中每时每刻生成的特征提取结果的帧数不确定,当缓存中的特征提取结果的帧数符合任意一种语音算法的预设配置参数时,即可以通过特征拼接接口中的拼接函数,将适当帧数的特征提取结果拼接为对应的特征矩阵,即获得有效的特征矩阵,以便后续步骤将获得的特征矩阵输入对应的声学模型中进行计算。
62.s240,根据预设神经网络处理引擎的计算接口,各语音算法分别调用对应的声学子模型并根据输入的特征矩阵进行计算,获得对应的语音算法的声学计算结果。
63.需要理解的是,为了满足语音技术的实时性,多个语音算法的声学模型具有庞大的计算量,因此占用较高的cpu资源。为了降低cpu资源,可以将各语音算法对应的声学模型统一移植到神经网络处理引擎中,例如snpe(snapdragon neural processing engine,高通芯片提供的神经网络处理引擎)中,于此仅举例说明。也就是说,各语音算法的声学模型在神经网络处理引擎中集成为一个总声学模型,各语音算法的声学模型相当于总声学模型中的声学子模型。也就是说,上述步骤中提及的各语音算法的声学模型均视为本步骤中的声学子模型。神经网络处理引擎具有计算接口,各语音算法的算法引擎通过调用同一计算接口,从而选择对应的声学子模型进行计算,且有助于降低cpu资源消耗。
64.需要知道的是,由于需要输入的特征矩阵不同,不同的语音算法对应的声学子模型可能具有部分相同或全部不同的计算频率。例如语音识别算法的声学子模型每隔n毫秒计算一次,声纹识别算法的声学子模型每隔m毫秒计算一次。尽管计算频率不同,但每当服务器接收到新的语音信号时,各语音算法都可以分别尝试调用声学子模型计算,以通过流式计算提高时效性。具体地,缓存中具有按照时序生成的特征提取结果,在调用声学子模型进行计算之前,各语音算法可以先分别调用特征拼接接口,尝试通过拼接函数将特征提取结果进行拼接。如果具有满足对应的预设配置参数的特征提取结果,拼接函数即可分别拼接生成对应特征矩阵,使得声学子模型可根据对应的特征矩阵进行计算,获得声学计算结果。也就是说,只要特征拼接接口根据任意一种预设配置参数获得有效的特征矩阵,即可将该特征矩阵输入对应的声学子模型进行计算,无需等待其他声学子模型的计算结果。
65.优选地,当座舱内的音区数量为多个时,在服务器中预先设置单个音区各自对应
的声学模型,或多个音区共同对应的声学模型。例如,每个音区分别映射服务器中一个的声学模型,在服务器接收了各音区的语音信号后,采用对应的声学模型进行对应的声学计算;其中,声学模型包括不同语音算法对应的声学子模型。或者,所有音区统一映射服务器中的一个声学模型,该声学模型中同样包括不同语音算法对应的声学子模型,各声学子模型分别负责不同音区对应的声学计算。通过灵活设置声学模型的个数,可以满足服务器中不同架构建设的需求。
66.s250,分别将各声学计算结果输入对应的语音算法的解码模块进行解码,获得对应的解码结果。
67.可以理解,各语音算法获得的声学计算结果的频率可能不同,基于此,分别确定对应的语音算法是否获得特征矩阵;若确定语音算法获得对应的特征矩阵,则根据声学模型输出的声学计算结果进行解码。也就是说,可以根据步骤s230中的特征拼接接口,确定是否生成任意一种语音算法对应的特征矩阵,即可随后判断步骤240中是否有声学子模型进行了计算,从而确定声学子模型是否输出了声学计算结果,继而对应的语音算法引擎调用对应的解码模块进行解码。
68.也就是说,如果步骤s230的特征拼接接口没有生成任何一种特征矩阵,则步骤s240的声学子模型因缺少输入数据而不能也无需进行计算,显然也无法输出声学计算结果。此时,各语音算法的算法引擎无需调用任何解码模块进行解码。通过这样的方式判断是否调用解码模块进行解码,从而有助于降低cpu资源消耗,避免无效调用。
69.s260,将各解码结果进行汇总,获得语音处理结果并发送至车辆。
70.根据流式计算,将当前得到的各语音算法对应的解码结果进行汇总,获得语音处理结果。也就是说,不同时间获得的语音处理结果所包含的内容不同。为了确保时效性,可以实时将当前时间获得的语音处理结果发送至车辆,以供车辆根据语音处理结果向用户进行反馈。
71.从该示例可知,本技术的语音处理方法,服务器可以分别接收不同音区的语音信号并分别独立处理。通过分别采用对应的特征提取模块,使各语音算法可以合并提取特征,无需重复提取特征,减少占用cpu资源;另外分别按照不同的预设配置参数,满足各语音算法的拼接需求,从缓冲中根据特征拼接接口拼接获得对应的特征矩阵;同时,通过获得任意一种语音算法对应的特征矩阵,即可通过对应的声学子模型进行有效计算,从而获得对应的声学计算结果,并确定调用对应的解码模块进行解码,从而避免占用cpu资源进行无效计算,减少因cpu资源占用对其他应用造成的卡顿现象。另外,将各语音算法的声学模型作为声学子模型集成于同一神经网络处理引擎中,避免分散设置,也可以降低对cpu资源的占用。
72.与前述应用功能实现方法实施例相对应,本技术还提供了一种服务器及相应的实施例。
73.图3是本技术示出的服务器的结构示意图。
74.参见图3,本技术示出的服务器,其包括信息收发模块310、特征提取模块320、声学模型计算模块330及解码模块340。其中:
75.信息收发模块310用于接收车辆转发的座舱内音区的语音信号。
76.特征提取模块320用于将不同功能的语音算法合并提取语音信号的特征,获得特
征提取结果并进行缓存。
77.声学模型计算模块330用于分别按照各语音算法的预设配置参数,调用缓存中的特征提取结果并通过声学模型计算,获得对应的声学计算结果。
78.解码模块340用于分别根据各声学计算结果进行解码,并将各解码结果进行汇总,获得语音处理结果,并通过所述信息收发模块将语音处理结果发送至所述车辆。
79.图4是本技术示出的服务器的另一结构示意图。图5是本技术示出的服务器在单个音区中的结构示意图。
80.参见图4和图5,具体地,信息收发模块310用于分别接收车辆转发的座舱内各音区的语音信号。特征提取模块320用于根据不同功能的语音算法,将源自同一音区的语音信号合并提取语音信号的特征。其中,特征提取模块320的数量可以是一个以上,每一特征提取模块320分别对应处理一个音区的语音信号。各功能的语音算法共用一个特征提取模块对同一音区的语音信号进行特征提取。可选地,在对应的音区中,特征提取模块320用于将不同功能的语音算法按照预设格式合并提取所述语音信号中的特征。
81.声学模型计算模块330包括特征拼接模块331和计算模块332。其中,特征拼接模块331用于根据各语音算法的预设配置参数,调用缓存中对应帧数的特征提取结果进行拼接,生成对应的特征矩阵;其中,所述预设配置参数包括拼接帧数、填充帧数、填充行为、间隔帧数中的至少一种。可选地,在进行特征拼接之前,特征拼接模块331分别对特征提取结果进行cmvn归一化处理。
82.进一步地,特征拼接模块331用于在接收到新的语音信号时,分别根据特征拼接接口调用缓存中的特征提取结果;当所述特征提取结果满足至少一种语音算法的预设配置参数时,根据所述特征拼接接口中的拼接函数生成对应的特征矩阵。可选地,特征拼接模块331的数量与各功能语音算法的数量对应,即每一特征拼接模块331分别具有各自的拼接函数,用于分别拼接对应的语音算法的声学模型所需要的特征矩阵。也可以各语音算法共用一个特征拼接模块331,使同一特征拼接模块331分别根据不同的拼接函数进行拼接特征矩阵。
83.进一步地,当所述座舱内的音区数量为多个时,预先设置单个所述音区各自对应的声学模型,或多个所述音区共同对应的声学模型。其中,各声学模型分别包括各算法对应的声学子模型。计算模块332用于根据预设神经网络处理引擎的计算接口,分别调用对应的声学子模型进行计算,获得对应的语音算法的声学计算结果。
84.解码模块340的数量与不同功能的语音算法的数量对应。每一解码模块340在进行解码之前,分别调用特征拼接模块的特征拼接接口,用于根据特征拼接接口分别确定对应的语音算法是否获得特征矩阵;若确定所述语音算法获得对应的特征矩阵,则根据声学模型输出的声学计算结果进行解码。这样的设计,避免无效调用解码模块340,节约cpu资源。
85.综上,本技术的服务器,可以将车辆转发的同一音区的语音信号在共同的特征提取模块进行特征提取,无需重复提取特征,节省cpu资源;特征拼接模块根据不同预设配置参数分别获得对应语音算法所需要的特征矩阵;经过计算模块统一的计算接口分别调用对应的声学子模型进行计算获得对应的声学计算结果;另外,解码模块按照特征拼接模块中的特征矩阵随到随算的模式,实时进行声学模型的计算和解码,满足语音技术的时效性要求,同时避免无效调用解码模块,减少对cpu资源的占用;各解码模块分别独立运行对应的
解码,通过并行解码,提高处理效率,缩短对cpu的占用时长。
86.关于上述实施例中的服务器,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
87.图6是本技术示出的服务器的结构示意图。
88.参见图6,服务器1000包括存储器1010和处理器1020。
89.处理器1020可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
90.存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(rom)和永久存储装置。其中,rom可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
91.存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
92.此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
93.或者,本技术还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被服务器(或服务器等)的处理器执行时,使处理器执行根据本技术的上述方法的各个步骤的部分或全部。
94.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好的解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。