混合语音分离方法和装置、存储介质及电子设备

文档序号:193383 发布日期:2021-11-02 浏览:52次 >En<

阅读说明:本技术 混合语音分离方法和装置、存储介质及电子设备 (Mixed voice separation method and device, storage medium and electronic equipment ) 是由 林永业 王珺 苏丹 俞栋 于 2021-01-26 设计创作,主要内容包括:本发明公开了一种基于人工智能的混合语音分离方法和装置、存储介质及电子设备。其中,该方法包括:获取待分离的混合语音的时域波形;获取时域波形的3D张量;将3D张量作为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中,N层处理结构中除第一层处理结构外的前N/2层处理结构在进行重采样时,采样频率越来越小,每次采样的采样数据越来越大,N层处理结构中后N/2层处理结构进行重采样时,采样频率越来越大,每次采样的采样数据越来越小;获取N层处理结构的最后一层处理结构的目标输出数据;将目标输出数据分离为多路语音。本发明解决了混合语音分离效率低的技术问题。(The invention discloses a mixed voice separation method and device based on artificial intelligence, a storage medium and electronic equipment. Wherein, the method comprises the following steps: acquiring a time domain waveform of mixed voice to be separated; acquiring a 3D tensor of a time domain waveform; the 3D tensor is used as input data of a first layer processing structure in the N layers of processing structures and is input into the N layers of processing structures, when the front N/2 layers of processing structures except the first layer of processing structures in the N layers of processing structures are subjected to resampling, the sampling frequency is smaller and smaller, the sampling data sampled each time is larger and larger, and when the rear N/2 layers of processing structures in the N layers of processing structures are subjected to resampling, the sampling frequency is larger and larger, and the sampling data sampled each time is smaller and smaller; acquiring target output data of the last layer of the N layers of processing structures; the target output data is separated into multiple voice channels. The invention solves the technical problem of low separation efficiency of mixed voice.)

混合语音分离方法和装置、存储介质及电子设备

技术领域

本发明涉及计算机领域,具体而言,涉及一种混合语音分离方法和装置、存储介质及电子设备。

背景技术

现有技术中,在获取到混合语音之后,对混合语音进行分离的过程中,可以使用训练后的神经网络模型来完成分离任务,得到分离后的语音。然而,传统的神经网络模型在执行分离任务分离混合语音的时候,需要使用大量样本进行大量的预训练,才能得到可堪一用的分离模型。

也就是说,现有技术中,对混合语音进行分离的过程中,存在分离效率低的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种混合语音分离方法和装置、存储介质及电子设备,以至少解决混合语音分离效率低的技术问题。

根据本发明实施例的一个方面,提供了一种混合语音分离方法,包括:获取待分离的混合语音的时域波形;获取上述时域波形的3D张量;将上述3D张量作为N层处理结构中的第一层处理结构的输入数据,输入上述N层处理结构中,其中,上述N层处理结构中除上述第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,上述N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,上述N层处理结构中除上述第一层处理结构外的前N/2层处理结构在进行上述重采样时,采样频率越来越小,每次采样的采样数据越来越大,上述N层处理结构中后N/2层处理结构进行上述重采样时,采样频率越来越大,每次采样的采样数据越来越小;获取上述N层处理结构的最后一层处理结构的目标输出数据;将上述目标输出数据分离为多路语音。

根据本发明实施例的另一方面,还提供了一种混合语音分离装置,包括:第一获取单元,用于获取待分离的混合语音的时域波形;第二获取单元,用于获取上述时域波形的3D张量;第一输入单元,用于将上述3D张量作为N层处理结构中的第一层处理结构的输入数据,输入上述N层处理结构中,其中,上述N层处理结构中除上述第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,上述N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,上述N层处理结构中除上述第一层处理结构外的前N/2层处理结构在进行上述重采样时,采样频率越来越小,每次采样的采样数据越来越大,上述N层处理结构中后N/2层处理结构进行上述重采样时,采样频率越来越大,每次采样的采样数据越来越小;第三获取单元,用于获取上述N层处理结构的最后一层处理结构的目标输出数据;分离单元,用于将上述目标输出数据分离为多路语音。

作为一种可选的示例,上述第二获取单元包括:第一采样模块,用于对上述时域波形执行第一次采样操作,得到帧序列;编码模块,用于对上述帧序列进行编码,得到编码序列;第二采样模块,用于对上述编码序列执行第二次采样操作,得到3D张量。

作为一种可选的示例,上述第一采样模块包括:第一确定子模块,用于将上述时域波形的第0+(M/2)*(i-1)到第M+(M/2)*(i-1)的数据作为上述帧序列中的一个帧数据,其中,上述M为上述帧序列中的一个上述帧数据的宽度,上述i为小于或等于第一值的正整数,上述第一值为上述帧序列中的上述帧数据的数量。

作为一种可选的示例,上述编码模块包括:处理子模块,用于使用线性整流函数对上述帧序列执行线性整流操作,得到操作结果;卷积子模块,用于使用一维卷积层对上述操作结果执行卷积操作,得到上述编码序列。

作为一种可选的示例,上述第二采样模块包括:第二确定子模块,用于将上述编码序列的第0+(K/2)*(i-1)到第K+(K/2)*(i-1)的数据作为一个子编码序列,其中,上述K为上述子编码序列的数据的宽度,上述i为小于或等于第二值的正整数,上述第二值为上述子编码序列的数量;第三确定子模块,用于将获取的多个上述子编码序列确定为上述3D张量。

作为一种可选的示例,上述装置还包括:处理单元,用于上述N层处理结构中的每一层处理结构对本层的上述输入数据执行以下操作,得到本层的上述输出数据:对上述输入数据进行线性变换,得到本层的上述输出数据。

作为一种可选的示例,上述处理单元包括:处理模块,用于对本层的输入数据中的编码子序列和用于线性变换的第一参数执行矩阵相乘操作,并将得到的结果与第二参数求和,将求和结果确定为本层的输出数据。

作为一种可选的示例,上述装置还包括:第二输入单元,用于向上一层的上述输出数据中输入第一剩余连接,得到第一中间数据;重采样单元,用于对上述第一中间数据进行重新采样,得到第二中间数据;第三输入单元,用于向上述第二中间数据中添加第二剩余连接,得到本层的上述输入数据。

作为一种可选的示例,上述第二输入单元包括:第一确定模块,用于获取log以e为底的上一层的输出数据的对数,其中,e为自然常数;将对数与第一剩余连接的的和确定为第一中间数据。

作为一种可选的示例,上述重采样单元包括:重采样模块,用于对第一中间数据进行下采样操作,得到下采样数据;将下采样数据输入到自关注网络中,得到网络输出结果;对网络输出结果进行上采样操作,得到上采样数据;将上采样数据确定为第二中间数据。

作为一种可选的示例,上述第三输入单元包括:第二确定模块,用于在本层为前N/2层的情况下,将本层的上一层的第二中间数据确定为本层的输入数据;在本层为后N/2层的情况下,将上一层的第二中间数据,和参考层的第二中间数据之和,确定为本层的输入数据,其中,上一层为第b层的情况下,参考层为第b-N/2层。

作为一种可选的示例,分离单元包括:第一转换模块,用于将上述目标输出数据转换为多个3D张量;第二转换模块,用于将上述多个3D张量中的每一个3D张量转换为一个目标矩阵;输入模块将每一个上述目标矩阵输入到一维选通卷积层中,得到多个源数据;第三转换模块,用于将每一个上述源数据转换为掩码矩阵;重建模块,用于将每一个上述掩码矩阵重建为一路上述语音。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述混合语音分离方法。

根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的混合语音分离方法。

在本发明实施例中,采用了获取待分离的混合语音的时域波形;获取上述时域波形的3D张量;将上述3D张量作为N层处理结构中的第一层处理结构的输入数据,输入上述N层处理结构中,其中,上述N层处理结构中除上述第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,上述N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,上述N层处理结构中除上述第一层处理结构外的前N/2层处理结构在进行上述重采样时,采样频率越来越小,每次采样的采样数据越来越大,上述N层处理结构中后N/2层处理结构进行上述重采样时,采样频率越来越大,每次采样的采样数据越来越小;获取上述N层处理结构的最后一层处理结构的目标输出数据;将上述目标输出数据分离为多路语音的方法,由于在上述方法中,在对混合语音进行分离的过程中,多层处理结构对输入数据的重采样先采样频率越来越小,每次采样的采样数据越来越大,然后采样频率越来越大,每次采样的采样数据越来越小,从而可以提高混合语音分离的效率。进而解决了混合语音分离效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的混合语音分离方法的应用环境的示意图;

图2是根据本发明实施例的另一种可选的混合语音分离方法的应用环境的示意图;

图3是根据本发明实施例的一种可选的混合语音分离方法的流程的示意图;

图4是根据本发明实施例的一种可选的混合语音分离方法的获取帧序列的示意图;

图5是根据本发明实施例的一种可选的混合语音分离方法的多层处理结构的示意图;

图6是根据本发明实施例的一种可选的混合语音分离方法的显示多路语音的示意图;

图7是根据本发明实施例的一种可选的混合语音分离装置的结构示意图;

图8是根据本发明实施例的一种可选的电子设备的结构示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请实施例涉及机器学习,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

根据本发明实施例的一个方面,提供了一种混合语音分离方法,可选地,作为一种可选的实施方式,上述混合语音分离方法可以但不限于应用于如图1所示的环境中。

如图1所示,终端设备102包括了存储器104,用于存储终端设备102运行过程中产生的各项数据、处理器106,用于处理运算上述各项数据、显示器108,用于显示分离结果。终端设备102可以通过网络110与服务器112之间进行数据交互。服务器112包括数据库114,用于存储各项数据,处理引擎116,用于处理上述各项数据。步骤S102到步骤S106,终端设备102向服务器112发送混合语音数据,服务器112对混合语音进行分离,然后返回分离后的多路语音。

作为一种可选的实施方式,上述混合语音分离方法可以但不限于应用于如图2所示的环境中。

如图2所示,终端设备202包括了存储器204,用于存储终端设备202运行过程中产生的各项数据、处理器206,用于处理运算上述各项数据、显示器208,用于显示分离的多路语音。终端设备202可以执行步骤S202到步骤S210,从而靠终端设备完成混合语音的分离。

可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。

可选地,作为一种可选的实施方式,如图3所示,上述混合语音分离方法包括:

S302,获取待分离的混合语音的时域波形;

S304,获取时域波形的3D张量;

S306,将3D张量作为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中,其中,N层处理结构中除第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,N层处理结构中除第一层处理结构外的前N/2层处理结构在进行重采样时,采样频率越来越小,每次采样的采样数据越来越大,N层处理结构中后N/2层处理结构进行重采样时,采样频率越来越大,每次采样的采样数据越来越小;

S308,获取N层处理结构的最后一层处理结构的目标输出数据;

S310,将目标输出数据分离为多路语音。

可选地,上述混合语音分离方法可以但不限于应用于混合语音分离的场景中。混合语音可以为两路语音的混合语音,也可以为多路语音的混合语音,两路语音的混合语音可以为两个声源的声音的混合语音,也可以为一个声源和噪声的混合语音。多路语音的混合语音中可以包括多个声源,也可以包括声源和噪声。

可选地,以两个声源的声音的混合语音为例,可以为两个声源例如两个人的声音形成了混合语音,可以获取该混合语音,然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成两路语音,每一路语音为一个人的声音。

可选地,以一个声源和噪声为例,可以为一个声源例如一个人说话,同时伴有噪声形成了混合语音。可以获取该混合语音然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成两路语音,其中一路语音为一个人的声音,另一路语音为噪声。

以多个声源的声音的混合语音为例,可以为多个声源同时说话,形成混合语音,可以获取该混合语音,然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成多路语音,每一路语音为一个人的声音。

结合具体的场景,例如,在音视频会议中,两个人在对话,而两个人对话的声音和背景噪声混合为混合语音。在获取到混合语音之后,将混合语音输入到本申请实施例中的处理结构中,则处理结构最后输出多路语音,包括了两个人的每一个人的声音和背景噪声。

由于本申请中,在分离混合语音的过程中,多层处理结构中的每一层处理结构先以采样率递减,采样数据量递增的方法采样,然后以采样率递增,采样数据量递减的方法采样,从而可以随着层数的加深,时间颗粒度先逐渐变粗,然后会朝原先的混合语音信号颗粒度依次变细,实现了提高分离混合语音的准确度的效果。

作为一种可选的示例,在将所述3D张量为N层处理结构中的第一层处理结构的输入数据,输入所述N层处理结构中之后,所述方法还包括:

所述N层处理结构中的每一层处理结构对本层的所述输入数据执行以下操作,得到本层的所述输出数据:

对所述输入数据进行线性变换,得到本层的所述输出数据。

作为一种可选的示例,所述对所述输入数据进行线性变换,得到本层的所述输出数据包括:

使用如下公式对所述输入数据进行线性变化,得到所述输出数据:

其中,·是矩阵乘法,表示所述3D张量中第S个子编码序列,是线性变换的参数,所述为所述输出数据。

作为一种可选的示例,所述N层处理结构中处所述第一层处理结构外的每一层处理结构对上一层处理结构的输出数据进行重采样,得到本层的输入数据包括:

向上一层的所述输出数据中输入第一剩余连接,得到第一中间数据;

对所述第一中间数据进行重新采样,得到第二中间数据;

向所述第二中间数据中添加第二剩余连接,得到本层的所述输入数据。

作为一种可选的示例,所述向上一层的所述输出数据中输入第一剩余连接,得到第一中间数据包括:

使用如下公式确定所述第一中间数据:

其中,为所述第一中间数据,所述为所述剩余连接;所述LN(·)表示应用于LR层的所述

作为一种可选的示例,所述对所述第一中间数据进行重新采样,得到第二中间数据包括:

使用如下公式对所述第一中间数据进行重新采样,得到所述第二中间数据:

其中USb(·)和DSb(·)分别是上采样和下采样操作,其定义如下:

所述b为小于或等于所述N的正整数,所述SANb(·)为自我关注网络,表示为:

所述P表示位置编码矩阵,所述表示分段之间的序列,所述SelfAttn(·)为多头自注意函数,所述K为正整数。

作为一种可选的示例,所述向所述第二中间数据中添加第二剩余连接,得到本层的所述输入数据包括:

使用如下数据确定本层的所述输入数据:

其中,所述为b+1层的所述输入数据,所述为b层的所述第二中间数据。

可选地,本申请实施例中的N层处理结构可以为一个神经网络模型中的结构,由神经网络模型完成对混合语音的识别。

可选地,本申请实施例中,在获取到混合语音之后,首先获取混合语音的时域波形,时域波形可以表示为然后,需要将时域波形转换为3D张量,然后将3D张量输入到N层处理结构中的第一层处理结构中。转换3D张量的过程如下:

S1,对时域波形执行第一次采样操作,得到帧序列;

S2,对帧序列进行编码,得到编码序列;

S3,对编码序列执行第二次采样操作,得到3D张量。

其中,S1对时域波形执行第一次采样操作,得到帧序列包括:

S1-1将时域波形的第0+(M/2)*(i-1)到第M+(M/2)*(i-1)的数据作为帧序列中的一个帧数据,其中,M为帧序列中的一个帧数据的宽度,i为小于或等于第一值的正整数,第一值为帧序列中的帧数据的数量。

具体可以为,在获取到时域波形之后,输入的时域波形被编码为帧序列,在编码为帧序列的时候,将时域波形编码为50%重叠帧的序列。即,将时域波形编码为帧序列,每相邻的两帧是有50%重叠的。

在得到上述50%重叠帧的序列之后,将其表示为 其中M是一个超参数,通常称为窗宽,也就是重叠帧的序列中一个帧的帧宽,T为时域波形的长度。

如图4所示。图4中,时域波形402被编码为帧序列的时候,帧序列的第一帧和第二帧包括了50%重叠的内容。可选地,上述50%重叠还可以为其他数值,例如,根据需要,从而设置40%重叠,或70%重叠等等。

在得到上述帧序列之后,可以执行S2,其中,S2可以包括:

S2-1使用线性整流函数对帧序列执行线性整流操作,得到操作结果;

S2-2使用一维卷积层对操作结果执行卷积操作,得到编码序列。

具体可以为,在得到上述50%重叠的重叠帧的序列之后,在语音分离网络TasNet中,使用线性整流函数加上一维卷积层来对50%重叠的重叠帧的序列进行信号编码,得到编码后的编码矩阵(也就是编码序列):

其中表示1D卷积层以1×1核运算应用于并通过可学习的权重进行参数化,此外ReLU(·)是用来保持非负输出,而E是每个编码帧的维数。代替直接使用进行后续计算,将编码矩阵线性映射为瓶颈特征:其中且D<E。D为卷积层的维数。

在得到编码矩阵后,可以执行S3,S3可以包括:

S3-1将编码序列的第0+(K/2)*(i-1)到第K+(K/2)*(i-1)的数据作为一个子编码序列,其中,K为子编码序列的数据的宽度,i为小于或等于第二值的正整数,第二值为子编码序列的数量;

S3-2将获取的多个子编码序列确定为3D张量。

具体可以为,经过上述过程后,得到矩阵形式为的帧,使用分段将X分为S个50%重叠的段(每一个段为一个子编码序列),每个分段的长度为K。第一个和最后一个段用零填充以创建等长段。将分得的分段打包在一起以创建3D张量,表示为其中的分段大小K是可用于控制局部范围的超参数。从而得到3D张量。然后将X传递到N层处理结构中,也就是将3D张量作为N层处理结构中第一层处理结构的输入数据。

在本步骤中,将S段包含K个D维帧的包起来得到3D张量 后,可以将3D张量定义为N层处理结构中的第一层处理结构的数据,然后,每一层处理结构对输入数据使用递归神经网络处理分段内序列以对局部性进行建模,其次,使用SAN对分段间序列进行建模,捕获全局依赖性。每层对上一层的输出数据进行重采样,下采样和上采样操作交织,更改了要由SAN处理的全局序列的颗粒度。

在将3D张量为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中之后,方法还包括:

S4,N层处理结构中的每一层处理结构对本层的输入数据执行以下操作,得到本层的输出数据:

对输入数据进行线性变换,得到本层的输出数据。

具体地,本实施例中,可以使用如下公式对输入数据进行线性变化,得到输出数据:

其中,·是矩阵乘法,表示3D张量中第S个子编码序列,是线性变换的参数,为LR层的输出数据,为N层处理结构中的第LR层的输入数据s为小于或等于S的正整数。

在本申请实施例中,由于段内序列是局部序列,每个序列的长度为K,其中包含一些细微的局部细节,例如时间或频谱连续性,频谱结构,音色等,这些与长期环境无关。

在本申请实施例中,将本地序列处理任务分配给一层RNN。具体而言,在每层处理结构中,将从分割过程中获得的3D张量传递到H个隐藏节点的双向长短期记忆网络(Long Short-Term Memory,简称为LSTM)。在这里,为了方便分辨,使用分别表示一层RNN的输入和RNN的输出。上标LR用于区分全局SAN模型中的相应的一层处理结构的输入/输出对。

由上述过程,明确了每一层处理结构对输入数据的处理。此外,层与层之间,上一层的输出数据需要重采样得到下一层的输入数据。

N层处理结构中处第一层处理结构外的每一层处理结构对上一层处理结构的输出数据进行重采样,得到本层的输入数据包括:

S5,向上一层的输出数据中输入第一剩余连接,得到第一中间数据;

S6,对第一中间数据进行重新采样,得到第二中间数据;

S7,向第二中间数据中添加第二剩余连接,得到本层的输入数据。

也就是说,在S4中,每一层的输出数据都要经过S5-S7来确定出下一层处理结构的输入数据。

其中,在处理了每个长度为K的段内序列之后,旨在对每个长度为S的段间序列进行建模。由于段间序列很可能会编码语音信号的上下文信息。因此,在N层处理结构中,采用了可变上下文感知的自关注网络(SAN)来捕获不同时间范围内的全局依存关系。

首先,不直接将作为SAN的输入,而是先将层规范化(Layer Normalization)LN(·)应用于LR层的输出,并向块输入添加剩余连接

然后重新采样以修改跨段进行全局处理的时间尺度:

其中USb(·)和DSb(·)分别是上采样和下采样操作,其定义如下:

其中Conv1DA(·;B)和ConvTrans1DA(·;B)分别表示沿长度A轴的1D卷积和1D转置卷积运算以B长的内核和卷积移令分段降至或升至上述就是本申请实施例中,每一层对上一层采样时的分段宽度,b为小于或等于N的正整数。

同时,还采用了上下文感知的自我关注网络SANb(·),此网络为任何输入定义SAN:

其中P表示置编码矩阵,并且指分段之间的序列。上述的,SelfAttn(·)是典型的多头自注意函数,可线性投影输入矩阵分为三种形式的矩阵,通常表示为查询Qj,键Kj,和值Vj矩阵,以计算不同头j=1,...,J,的缩放点乘积注意力(Scaled dot-product attention),最后将它们通过级联加矩阵进行组合乘法:

A=W·Concat(A1,...,AJ)

SelfAttn(X)=LN(X+DROP(A))

其中DROP(·)表示Dropout技术,模型训练时随机让网络某些隐含层节点的权重不工作。而是SAN的参数,Aj和A是中间使用的参数,T为参数。

此外,对于具有相同颗粒度的处理结构之间添加剩余连接。用于防止信息通过中间结构后丢失信息。定义为

同时还定义了第b和第(b+1)个处理结构之间的递归关系。实验结果表明,在实践中添加残留连接对于补救原始信号电平细节以改善信号重建以及避免梯度消失问题以实现更好的参数学习至关重要。

经过上述过程,得到了目标输出数据。后续为对目标输出数据进行尽力以得到多路语音。包括:

S8,将目标输出数据转换为多个3D张量;

S9,将多个3D张量中的每一个3D张量转换为一个目标矩阵;

S10,将每一个目标矩阵输入到一维选通卷积层中,得到多个源数据;

S11,将每一个源数据转换为掩码矩阵;

S12,将每一个掩码矩阵重建为一路语音。

可选地,N层处理模块中的最后一层处理模块输出的目标输出数据为N个连续的全局专注局部重复(Globally Attentive Locally Recurrent,简称为GALR)块。在获取到N个连续的GALR块后,也就是得到了有利于源分离的C个混合信号的表示。然后,使用二维卷积层将该C个混合信号的三维表示转换为C个三维张量。然后,应用重叠添加方法将C个3D张量的每一个3D张量转换回一个矩阵其中c=1,...,C。之后,采用一个波束形成过程,将两个1D选通卷积层应用于每个矩阵:

其中⊙表示元素相乘,σ(·)表示Sigmoid函数,是一维门控卷积中的两个参数矩阵。Tanh和Sigmoid函数在这里充当波束形成滤波器。

要为每个源生成掩码矩阵,最后一步是使用弹性线性()掩码函数:

其中是学习掩码的一维卷积。

最后,第c个估计的掩模被应用回最初编码的混合以重建源c:

其中是一个包含基信号的矩阵,每个列对应一个1D滤波器。

本申请实施例的N层处理结构如图5所示。

如图6所示,为将混合语音分离为多个语音的示意图。对混合语音进行分离后,得到多路语音后,可以对多路语音进行播放。

可选地,本实施例中上述提到的神经网络模型,可以为对原始神经网络模型训练后得到的模型。而原始神经网络模型是与上述神经网络模型结构相同,但是参数还未经过训练,还不成熟的模型。

本实施例中,可以获取样本语音对原始神经网络模型进行训练。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的另一个方面,还提供了一种用于实施上述混合语音分离方法的混合语音分离装置。如图7所示,该装置包括:

第一获取单元702,用于获取待分离的混合语音的时域波形;

第二获取单元704,用于获取时域波形的3D张量;

第一输入单元706,用于将3D张量作为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中,其中,N层处理结构中除第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,N层处理结构中除第一层处理结构外的前N/2层处理结构在进行重采样时,采样频率越来越小,每次采样的采样数据越来越大,N层处理结构中后N/2层处理结构进行重采样时,采样频率越来越大,每次采样的采样数据越来越小;

第三获取单元708,用于获取N层处理结构的最后一层处理结构的目标输出数据;

分离单元710,用于将目标输出数据分离为多路语音。

可选地,上述混合语音分离装置可以但不限于应用于混合语音分离的场景中。混合语音可以为两路语音的混合语音,也可以为多路语音的混合语音,两路语音的混合语音可以为两个声源的声音的混合语音,也可以为一个声源和噪声的混合语音。多路语音的混合语音中可以包括多个声源,也可以包括声源和噪声。

可选地,以两个声源的声音的混合语音为例,可以为两个声源例如两个人的声音形成了混合语音,可以获取该混合语音,然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成两路语音,每一路语音为一个人的声音。

可选地,以一个声源和噪声为例,可以为一个声源例如一个人说话,同时伴有噪声形成了混合语音。可以获取该混合语音然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成两路语音,其中一路语音为一个人的声音,另一路语音为噪声。

以多个声源的声音的混合语音为例,可以为多个声源同时说话,形成混合语音,可以获取该混合语音,然后使用本申请实施例中的上述混合语音分离方法来将混合语音拆分成多路语音,每一路语音为一个人的声音。

结合具体的场景,例如,在音视频会议中,两个人在对话,而两个人对话的声音和背景噪声混合为混合语音。在获取到混合语音之后,将混合语音输入到本申请实施例中的处理结构中,则处理结构最后输出多路语音,包括了两个人的每一个人的声音和背景噪声。

由于本申请中,在分离混合语音的过程中,多层处理结构中的每一层处理结构先以采样率递减,采样数据量递增的方法采样,然后以采样率递增,采样数据量递减的方法采样,从而可以随着层数的加深,时间颗粒度先逐渐变粗,然后会朝原先的混合语音信号颗粒度依次变细,实现了提高分离混合语音的准确度的效果。

本实施例的其他示例请参见上述示例,在此不再赘述。

根据本发明实施例的又一个方面,还提供了一种用于实施上述混合语音分离方法的电子设备,该电子设备可以是图8所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

获取待分离的混合语音的时域波形;

获取时域波形的3D张量;

将3D张量作为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中,其中,N层处理结构中除第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,N层处理结构中除第一层处理结构外的前N/2层处理结构在进行重采样时,采样频率越来越小,每次采样的采样数据越来越大,N层处理结构中后N/2层处理结构进行重采样时,采样频率越来越大,每次采样的采样数据越来越小;

获取N层处理结构的最后一层处理结构的目标输出数据;

将目标输出数据分离为多路语音。

可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。

其中,存储器802可用于存储软件程序以及模块,如本发明实施例中的混合语音分离方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的混合语音分离方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于存储混合语音和分离的多路语音等信息。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述混合语音分离装置中的第一获取单元702、第二获取单元704、第一输入单元706、第三获取单元708和分离单元710。此外,还可以包括但不限于上述混合语音分离装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子设备还包括:显示器808,用于显示多路分离语音;和连接总线810,用于连接上述电子设备中的各个模块部件。

在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。

根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:

获取待分离的混合语音的时域波形;

获取时域波形的3D张量;

将3D张量作为N层处理结构中的第一层处理结构的输入数据,输入N层处理结构中,其中,N层处理结构中除第一层处理结构外的每一层处理结构用于对上一层处理结构的输出数据进行重采样,得到本层的输入数据,N层处理结构中的每一层处理结构用于对本层的输入数据进行处理,得到本层的输出数据,N层处理结构中除第一层处理结构外的前N/2层处理结构在进行重采样时,采样频率越来越小,每次采样的采样数据越来越大,N层处理结构中后N/2层处理结构进行重采样时,采样频率越来越大,每次采样的采样数据越来越小;

获取N层处理结构的最后一层处理结构的目标输出数据;

将目标输出数据分离为多路语音。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于深度学习的视听多模态语音分离方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!