掌桥专利:专业的专利平台
掌桥专利
首页

一种语音处理方法、装置及电子设备

文献发布时间:2023-06-19 09:30:39


一种语音处理方法、装置及电子设备

技术领域

本发明涉及语音分离领域,更具体的说,涉及一种语音处理方法、装置及电子设备。

背景技术

随着时代的发展,人工智能AI技术日新月异,也逐渐走入了人们的生活。在很多场景都需要将语音对话记录下来,利用波束成形算法BF进行语音分离,并将分离后的语音发送至语音识别引擎进行语音识别,但是分离后的语音仍然存在很多残留的干扰。

发明内容

有鉴于此,本发明提供一种语音处理方法、装置及电子设备,以解决利用波束成形算法BF分离得到的语音仍然存在很多残留的干扰的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种语音处理方法,包括:

获取分离后的语音;所述语音为n路,n≥2;不同的所述语音的方向不同;

计算每一路所述语音对应的输出功率;

依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

优选地,所述计算每一路所述语音对应的输出功率,包括:

计算每一路所述语音中的每一帧子语音对应的输出功率;所述每一帧所述子语音对应的输出功率的计算公式为:

其中,Y为采样点数;x

优选地,所述语音包括两路语音;

所述依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音,包括:

选取两路所述语音中的一路语音作为目标语音,另一路所述语音作为非目标语音;

对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率大于所述非目标语音中相应帧对应的输出功率,将所述非目标语音中相应帧的振幅缩小为预设数值;

若所述输出功率不大于所述非目标语音中相应帧对应的输出功率,将所述目标语音中所述目标子语音的振幅缩小为预设数值;

所述目标子语音为所述目标语音中的每一帧子语音。

优选地,在所述获取分离后的语音之前,还包括:

获取混合语音;

对所述混合语音进行语音分离,得到分离后的所述语音。

一种语音处理装置,包括:

语音获取模块,用于获取分离后的语音;所述语音为n路,n≥2;不同的所述语音的方向不同;

功率计算模块,用于计算每一路所述语音对应的输出功率;

语音修正模块,用于依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

优选地,所述功率计算模块用于计算每一路所述语音对应的输出功率时,具体用于:

计算每一路所述语音中的每一帧子语音对应的输出功率;所述每一帧所述子语音对应的输出功率的计算公式为:

其中,Y为采样点数;x

优选地,所述语音包括两路语音;

相应的,所述语音修正模块包括:

选取子模块,用于选取两路所述语音中的一路语音作为目标语音,另一路所述语音作为非目标语音;

第一处理子模块,用于对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率大于所述非目标语音中相应帧对应的输出功率,将所述非目标语音中相应帧的振幅缩小为预设数值;

第二处理子模块,用于若所述输出功率不大于所述非目标语音中相应帧对应的输出功率,将所述目标语音中所述目标子语音的振幅缩小为预设数值;

所述目标子语音为所述目标语音中的每一帧子语音。

优选地,还包括:

数据获取模块,用于获取混合语音;

语音分离模块,用于对所述混合语音进行语音分离,得到分离后的所述语音。

一种电子设备,包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

获取分离后的语音;所述语音为n路,n≥2;不同的所述语音的方向不同;

计算每一路所述语音对应的输出功率;

依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种语音处理方法、装置及电子设备,在采用波束成形算法BF进行语音分离得到分离后的语音之后,依据每一语音对应的输出功率来消除语音中的干扰,使得最终得到的修正后的语音中干扰量更小。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种语音处理方法的方法流程图;

图2为本发明实施例提供的另一种语音处理方法的方法流程图;

图3为本发明实施例提供的再一种语音处理方法的方法流程图;

图4为本发明实施例提供的一种语音分离的场景示意图;

图5为本发明实施例提供的一种语音处理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种语音处理方法,该语音处理方法用于消除语音中的干扰。参照图1,语音处理方法可以包括:

S11、获取分离后的语音。

其中,所述语音为n路,n≥2,不同的所述语音的方向不同。

可选的,在实际应用中,分离后的语音优选为两路,两路语音的方向不同,如两个不同的人A和B,分别在不同的位置进行语音交流,以一个坐标为例,A可以在横坐标方向上,B可以在纵坐标方向上。另外,本实施例中,也可以扩展到三个人或者更多人的语音交流,但是对两个人的语音交流处理效果最好。

A和B两个人在沟通交流过程中,假设不存在抢话的情况,即一个人说完之后,另一个人在说,通过语音采集装置,如麦克风可以采集到两个人的语音,即最终会得到同时包括A和B两个人的语音的混合语音。

可选的,本发明的另一具体实现方式中,参照图2,在执行步骤S11之前,还可以包括步骤S10:

获取混合语音,对所述混合语音进行语音分离,得到分离后的所述语音。

仍以上述A和B沟通交流的方案为例,在得到同时包括A和B两个人的语音的混合语音之后,若后续需要进行语音识别,则需要将混合语音中A和B的语音进行分离,此时可以采用波束成形算法BF进行语音分离,得到A和B单独的语音数据。

需要说明的是,在使用波束成形算法BF进行语音分离时,需要提前已知A和B的方向,如上述的A可以在横坐标方向上,B可以在纵坐标方向上。若对A和B的方向未知,则需要A和B分别通过试语音的方式进行A和B方向的确定,如采用语音到达时间差来得到A和B的方向。

S12、计算每一路所述语音对应的输出功率。

可选的,在实际应用中,步骤S12可以包括:

计算每一路所述语音中的每一帧子语音对应的输出功率;所述每一帧所述子语音对应的输出功率的计算公式为:

其中,Y为采样点数,优选Y为2048,此外,当语音数据量较小时,可以为1024。

x

具体的,对于每一路语音,对该语音进行采样,以采样点的数量为2048采集的音频作为一帧子语音。分别计算每一帧子语音的输出功率。优选的,可以采用

S13、依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

其中,对于每一路语音,将该路语音中包括的其余声音的部分称为非所述语音部分。如可以是环境噪音和其余人的说话声,即非所述语音部分包括步骤21中所述的非目标语音。

举例来说,A和B两个人说话,A对应的语音中包括的B说话的语音部分和环境噪音即为非所述语音部分。

具体的,在计算得到输出功率之后,依据该输出功率进行语音干扰消除,得到修正后的语音。

本实施例中,在步骤S10中采用波束成形算法BF进行语音分离得到分离后的语音之后,依据每一语音对应的输出功率来消除语音中的干扰,使得最终得到的修正后的语音中干扰量更小。

可选的,上述实施例中介绍了“依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音”,现对其具体实现方式进行介绍。具体的,本发明的另一实现方式中,在获取的分离后的语音为两路时,参照图3,“依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音”可以包括:

S21、选取两路所述语音中的一路语音作为目标语音,另一路所述语音作为非目标语音。

具体的,若为两路语音,一路语音作为目标语音,另一路语音作为非目标语音。若为三路及以上语音,则一路语音为目标语音,其余各路语音为非目标语音。

S22、对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率大于所述非目标语音中相应帧对应的输出功率,将所述非目标语音中相应帧的振幅缩小为预设数值;

S23、对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率不大于所述非目标语音中相应帧对应的输出功率,将所述目标语音中所述目标子语音的振幅缩小为预设数值;

所述目标子语音为所述目标语音中的每一帧子语音。

具体的,以两路语音为例,选取一路语音作为目标语音,另一路语音作为非目标语音,对于目标语音和非目标语音。由于两路语音从一个混合语音分离得到,则两路语音的时间长度相同,即两路语音的帧长度相同,设定目标语音和非目标语音的帧对应关系,同一时刻采集的一帧子语音设定为对应帧,如目标语音的第一帧子语音与非目标语音的第一帧子语音相对应,即非目标语音的第一帧子语音作为目标语音的第一帧子语音的相应帧,其余帧类似。

将目标语音中的每一帧子语音分别作为目标子语音。对于该目标子语音,将该目标子语音对应的输出功率与非目标语音中相应帧的输出功率作对比,若大于,则将非目标语音中相应帧的振幅缩小为预设数值,预设数值可以为百分之一,即将相应帧的振幅缩小为接近于零的数值。若不大于,则将目标语音中目标子语音的振幅缩小为预设数值,预设数值为百分之一,即缩小为接近于零的数值。

具体的,在实际应用中,参照图4,输入为混合语音Micin,语音方向1的输出为Beam_out1,语音方向2的输出为Beam_out2。分别计算这两路每一帧子语音的输出功率P_out1与P_out2,帧长度可选择2048。

比较这两个值的大小,P_out1大于P_out2记作1,否则记作0,将比较结果存到一个缓存器buffer里,为了保证比较结果的准确性,对比较结果进行调整,经过一个平滑滤波器,将比较结果中的杂质滤除,比如输入为其中的一个比较结果x(n),输出为滤波后的比较结果y(n),则公式如下:

最后得到的结果再经过一个四舍五入,则最终结果为1或0。举例来说,一个时刻的比较结果为1,为了保证数据的准确性,取前两次的比较结果,分别为0和1,三个比较结果取平均值,即为0.66,再四舍五入即为1,即最终的比较结果为1。

最终的比较结果中,遇到1的地方,将P_out2的相应位置缩小到百分之一,遇到0的地方将P_out1的相应位置缩小到百分之一。对于每一路目标语音,被缩小的子语音即为上述提及的非目标语音。另外,当本实施例所应用的场景为环境噪音很小的场景时,非所述语音部分可以仅仅涉及其余人的说话声,也即非目标语音,而对于环境噪音很大的场景,非所述语音部分包括环境噪音和所述非目标语音。

对于三路语音,与两路语音类似,不同的是,需要将输出功率非最大的两路语音的子语音设置为缩小百分之一。

通过输出两路波束的能量增益,将残留干扰信号所处时刻精确估计出来,然后将其幅度降低到不能被识别,从而防止了每一路中的错误识别。将经过能量增益处理的语音进行语音识别,则识别结果更加准确。

本实施例中,通过能量增益识别不同声源的方法,能够更彻底的将不同声源分离出来,提高了每路输出语音的识别率,减少了由于残留干扰信号造成的错误识别。

可选的,在上述语音处理方法的实施例的基础上,本发明的另一实施例提供了一种语音处理装置,参照图5,可以包括:

语音获取模块101,用于获取分离后的语音;所述语音为n路,n≥2;不同的所述语音的方向不同;

功率计算模块102,用于计算每一路所述语音对应的输出功率;

语音修正模块103,用于依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

进一步,所述功率计算模块用于计算每一路所述语音对应的输出功率时,具体用于:

计算每一路所述语音中的每一帧子语音对应的输出功率;所述每一帧所述子语音对应的输出功率的计算公式为:

其中,Y为采样点数;x

进一步,还包括:

数据获取模块,用于获取混合语音;

语音分离模块,用于对所述混合语音进行语音分离,得到分离后的所述语音。

本实施例中,在采用波束成形算法BF进行语音分离得到分离后的语音之后,依据每一语音对应的输出功率来消除语音中的干扰,使得最终得到的修正后的语音中干扰量更小。

需要说明的是,本实施例中的各个模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。

可选的,在上述任一语音处理装置的实施例的基础上,所述语音包括两路语音;

相应的,所述语音修正模块包括:

选取子模块,用于选取两路所述语音中的一路语音作为目标语音,另一路所述语音作为非目标语音;

第一处理子模块,用于对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率大于所述非目标语音中相应帧对应的输出功率,将所述非目标语音中相应帧的振幅缩小为预设数值;

第二处理子模块,用于若所述输出功率不大于所述非目标语音中相应帧对应的输出功率,将所述目标语音中所述目标子语音的振幅缩小为预设数值;

所述目标子语音为所述目标语音中的每一帧子语音。

本实施例中,通过能量增益识别不同声源的方法,能够更彻底的将不同声源分离出来,提高了每路输出语音的识别率,减少了由于残留干扰信号造成的错误识别。

需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。

可选的,在上述语音处理方法及装置的实施例的基础上,本发明的另一实施例提供了一种电子设备,包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

获取分离后的语音;所述语音为n路,n≥2;不同的所述语音的方向不同;

计算每一路所述语音对应的输出功率;

依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音。

进一步,所述计算每一路所述语音对应的输出功率,包括:

计算每一路所述语音中的每一帧子语音对应的输出功率;所述每一帧所述子语音对应的输出功率的计算公式为:

其中,Y为采样点数;x

进一步,所述语音包括两路语音;

所述依据每一路所述语音对应的输出功率,消除每一路所述语音中非所述语音部分,得到修正后的语音,包括:

选取两路所述语音中的一路语音作为目标语音,另一路所述语音作为非目标语音;

对于所述目标语音中的每一帧目标子语音对应的输出功率,若所述输出功率大于所述非目标语音中相应帧对应的输出功率,将所述非目标语音中相应帧的振幅缩小为预设数值;

若所述输出功率不大于所述非目标语音中相应帧对应的输出功率,将所述目标语音中所述目标子语音的振幅缩小为预设数值;

所述目标子语音为所述目标语音中的每一帧子语音。

进一步,在所述获取分离后的语音之前,还包括:

获取混合语音;

对所述混合语音进行语音分离,得到分离后的所述语音。

本实施例中,在采用波束成形算法BF进行语音分离得到分离后的语音之后,依据每一语音对应的输出功率来消除语音中的干扰,使得最终得到的修正后的语音中干扰量更小。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 语音处理方法、语音处理装置和电子设备
  • 语音合成方法、语音合成模型处理方法、装置和电子设备
技术分类

06120112197703