一种多尺度时延采样的单通道语音分离方法

文档序号:1955199 发布日期:2021-12-10 浏览:22次 >En<

阅读说明:本技术 一种多尺度时延采样的单通道语音分离方法 (Single-channel voice separation method for multi-scale time delay sampling ) 是由 毛启容 钱双庆 陈静静 贾洪杰 于 2021-08-30 设计创作,主要内容包括:本发明提供了一种基于多尺度时延采样的单通道语音分离方法,提取多个说话人混合语音信号混合语音特征,对混合语音特征进行分割,并拼接成3D张量,采用第一双向循环神经网络迭代地对3D张量进行建模,捕获局部特征信息和全局特征信息,采用多尺度时延采样建模,对第一双向循环神经网络的输出进行不同尺度的时延采样,并采用第二双向循环神经网络捕获不同尺度下的特征信息,将特征信息进行重叠相加,并映射为多个说话人纯净语音的掩码,再将掩码与混合语音特征进行点乘,得到多个说话人的纯净语音表征,将每个人的纯净语音表征重构成分离后的语音信号。本发明通过多尺度时延采样建模,弥补分段式建模中的信息缺失,极大地提升了语音分离性能。(The invention provides a single-channel voice separation method based on multi-scale time delay sampling, which extracts the mixed voice characteristics of a mixed voice signal of a plurality of speakers, the mixed speech features are segmented and spliced into a 3D tensor, the 3D tensor is modeled iteratively by adopting a first bidirectional cyclic neural network, local feature information and global feature information are captured, multi-scale time delay sampling modeling is adopted, performing time delay sampling of different scales on the output of the first bidirectional circulation neural network, capturing characteristic information under different scales by adopting the second bidirectional circulation neural network, performing overlap addition on the characteristic information, and mapping the voice signals into masks of the pure voices of the multiple speakers, performing point multiplication on the masks and the mixed voice characteristics to obtain pure voice characteristics of the multiple speakers, and reconstructing the pure voice characteristics of each person into separated voice signals. According to the invention, through multi-scale time delay sampling modeling, information loss in sectional modeling is compensated, and the voice separation performance is greatly improved.)

一种多尺度时延采样的单通道语音分离方法

技术领域

本发明属于语音分离领域,具体涉及一种多尺度时延采样的单通道语音分离方法。

背景技术

近年来,随着深度学习的崛起,由其引发的人工智能热潮改变着人们生活的方方面面。而语音交流是必不可少的一部分,一条清晰的语音能使得智能电器更好的执行相应的命令,极大地提升智能化程度。但在真实的声学场景中,我们感兴趣的说话人语音通常会受到其他说话人的干扰,这是一个典型的鸡尾酒会问题。得益于人耳独特的听觉系统,我们可以很容易分辨出目标说话人的语音内容,因而语音分离所做的就是模拟人耳的听觉系统,从混合的说话人语音中分离出一个或所有说话人的纯净语音,从而去除背景噪声、混响等干扰,提升语音的清晰度、可懂度。

目前主流的语音分离方法大多采用的是端到端的时域分离,它通过数据驱动的方式,让模型自己学习混合语音波形中的潜在公共表示,以此来实现分离。这种分离方法对于语音预处理时的分帧要求极高,研究表明相同时间内一段混合语音分的帧越多,它最后的分离效果也越好。但过多的帧又会导致无法建模,为了解决这个问题,Yi Luo等在Dual-path rnn:efficient long sequence modeling for time-domain single-channelspeech separation一文中提出了双路结构的分段式建模方法,有效的实现了长序列语音的采样点级别建模,极大的提升了语音分离的性能。但这种分段式建模方法在捕获全局信息时会使得序列中的相邻帧在原始的序列中相隔太远,彼此间几乎没有什么相互关系,并且存在许多帧与帧之间的关系未被捕获,严重导致了信息的缺失。

发明内容

针对现有技术中存在不足,本发明提供了一种多尺度时延采样的单通道语音分离方法,通过多尺度时延采样建模,弥补分段式建模中的信息缺失,进一步提升分离的性能。

一种多尺度时延采样的单通道语音分离方法,包括以下步骤:

S1,对多个说话人混合语音信号提取混合语音特征;

S2,对所述混合语音特征进行分割,并拼接成3D张量;

S3,采用第一双向循环神经网络迭代地对3D张量进行建模,捕获局部特征信息和全局特征信息;

S4,采用多尺度时延采样建模,对第一双向循环神经网络的输出进行不同尺度的时延采样,并采用第二双向循环神经网络捕获不同尺度下的特征信息;

S5,将S4中的特征信息进行重叠相加,重叠相加后的结果映射为多个说话人纯净语音的掩码,再将所述掩码与所述混合语音特征进行点乘,得到多个说话人的纯净语音表征;

S6,将每个人的纯净语音表征重构成分离后的语音信号。

进一步地,对第一双向循环神经网络的输出进行单一尺度的时延采样,具体过程为:

对双向循环神经网络的输出进行序列重组和重新分段,对重新分段拼接后的序列沿着块长维度2λK进行时延采样,对时延采样后的每个序列ui沿着分块维度R′进行拼接,获取时延采样后重组的3D张量hλ,其中2λ是时延采样率,λ=0,...,B-1是采样指数,B代表了堆叠的多尺度时延采样块的个数,K表示重新分段前的块长维度。

更进一步地,采用第二双向循环神经网络捕获单一尺度下的特征信息,具体过程为:

沿着所述hλ的第二维应用第二双向循环神经网络,捕获时延采样后的序列之间的相互关系,然后再通过全连接层对输出的结果进行维度变换,输出FC;对所述FC进行层归一化,再与双向循环神经网络的输出进行残差连接。

进一步地,采用不同的时延采样率,重复对第一双向循环神经网络的输出进行单一尺度的时延采样、采用第二双向循环神经网络捕获单一尺度下的特征信息,集成不同尺度下的特征信息。

更进一步地,所述对重新分段拼接后的序列沿着块长维度2λK进行时延采样,采用的公式为:

ui=[u′[:,i::2λ,:],i=0,...,2λ-1]

其中,u′[:,i::2λ,:]表示对u′采用Python中的序列切片,i代表索引序号。

更进一步地,所述沿着所述hλ的第二维应用第二双向循环神经网络,捕获时延采样后的序列之间的相互关系,然后再通过全连接层对输出的结果进行维度变换,输出FC,具体的公式为:

U=[BiLSTM(hλ[:,:,m]),m=1,...,2λR′]

FC=[WU[:,:,m]+b,m=1,...,2λR′]

其中,U是双向循环神经网络的输出,H是隐藏层的输出维度,hλ[:,:,m]是由索引m确定的序列,2λR′表示分块维度,W、b分别为全连接层的权重和偏置。

更进一步地,所述对所述FC进行层归一化,具体的公式为:

其中,μ(FC)、σ(FC)分别表示全连接层输出的均值和方差,z、r是归一化因子,ε是一个极小正数,Layernorm代表层归一化,i、j、k分别表示N、K、2λR′中的某一特定维度,N是提取的混合语音特征维度。

更进一步地,所述对所述残差连接,具体的公式为:

Output=hλ+Layernorm(FC)。

本发明的有益效果为:本发明采用多尺度时延采样建模,对第一双向循环神经网络的输出进行不同尺度的时延采样,并采用第二双向循环神经网络捕获不同尺度下的特征信息,有效地整合了不同尺度下序列之间的相互关系,弥补了双向循环神经网络在分段式建模时的信息缺失,极大的提升了语音分离性能,有效地降低了语音的失真率,同时也提高了分离语音的可懂性。

附图说明

图1是本发明所述基于多尺度时延采样的单通道语音分离方法流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细说明。

如图1所示,本发明一种基于多尺度时延采样的单通道语音分离方法,具体包括如下步骤:

步骤一,采用编码器对输入的多个说话人混合语音信号进行编码,提取相应的混合语音特征

对于给定的混合语音信号采用一维卷积神经网络作为编码器,提取高阶混合语音特征其中为实数集,L是混合语音信号的长度,N是提取的混合语音特征维度,T是混合语音特征的帧数;所述一维卷积神经网络的卷积核大小为W、卷积窗口移动的步伐为W/2,且在卷积神经网络后加上ReLU函数用于非线性变换,其计算公式如下:

步骤二,对编码器输出的混合语音特征进行分割,进而拼接成一个3D张量

对编码器输出的混合语音特征z,以P为单位进行分割,分割的每个小块长为K,共分成R块,每个小块之间均存在50%的重叠,然后再将所有小块拼接成一个3D张量

步骤三,采用双向循环神经网络迭代地对3D张量v进行建模,相应的捕获局部特征信息和全局特征信息

堆叠b个双向循环神经网络(BiLSTM)模块(双向循环神经网络模块包括奇数BiLSTM模块和偶数BiLSTM模块,且奇数BiLSTM模块和偶数BiLSTM模块交替堆叠),对输入的3D张量进行建模,其中奇数BiLSTM模块B2i-1(i=1,...,b/2)沿着数量为R的块长维度K进行序列建模,捕获混合语音特征序列的局部特征信息;偶数BiLSTM模块B2i沿着数量为K的分块维度R建模,捕获混合语音特征序列的全局特征信息,其计算公式如下:

UR=[BiLSTM(v[:,:,i]),i=1,...,R] (2)

UK=[BiLSTM(UR[:,i,:]),i=1,...,K] (3)

式中,UR分别是奇数BiLSTM模块、偶数BiLSTM模块的输出,通过奇数BiLSTM模块、偶数BiLSTM模块的迭代交替执行,说话人信息被有效的整合起来,以便后续的分离。

采用双向循环神经网络是为了能让多尺度时延采样模型(MTDS)不仅关注到过去的上下文信息,同时也能更多地关注到未来的上下文信息,这对于语音分离任务是非常有益的,双向循环神经网络的计算公式如下:

hu=tanh(Wu[a<t-1>;x<t>]+bu) (4)

hf=tanh(Wf[a<t-1>;x<t>]+bf) (5)

ho=tanh(Wo[a<t-1>;x<t>]+bo) (6)

a<t>=tanh(c<t>) (9)

式中,hu、hf、ho分别是LSTM更新门、遗忘门和输出门的输出,Wu、Wf、Wo、Wc以及bu、bf、bo、bc是双向循环神经网络中的权重和偏置;x<t>、a<t>表示当前时刻下双向循环神经网络的输入和输出,c<t>是对应双向循环神经网络中的记忆单元,tanh是激活函数。

步骤四,采用多尺度时延采样建模,对双向循环神经网络中的信息缺失进行弥补,以进一步提升分离的性能

尽管双向循环神经网络对于混合语音特征序列信息的捕获非常有效,但其在偶数BiLSTM模块执行建模处理时,是将双向向循环神经网络应用于K个非连续帧上,相邻帧之间的间隔为R//2,这种过大的间隔显然会导致帧与帧之间的序列关系很少,双向循环神经网络很难捕获有效的信息,并且整个混合语音特征序列中仍存在着许多帧与帧之间的关系没有被捕获,严重导致了信息的缺失。为了弥补这一缺陷,采用多尺度时延采样对混合语音特征序列再重新建模,进而捕获不同尺度下的特征信息,以提升分离性能。其具体做法如下:

(1)对双向循环神经网络的输出进行序列重组和重新分段,这里仍然采用双向循环神经网络中的分段策略,不同之处在于分割后所得的每个小段的长度从K扩大到了2λK。

(2)对重新分段拼接后的序列沿着块长维度2λK进行时延采样,其计算公式如下:

ui=[u′[:,i::2λ,:],i=0,...,2λ-1] (10)

式中,λ=0,...,B-1是采样指数,2λ是时延采样率,尤其是当λ=0时,表示仍然采用原始的双向循环神经网络分段策略,而不加任何时延采样;B代表了堆叠的多尺度时延采样块的个数;定义是重新分段后的段数;u′[:,i::2λ,:]表示对u′采用Python中的序列切片,即沿着u′的第二维进行切片,每个片段长度为K,共切成2λ段,然后从每个切片中取出索引为i的序列进行拼接,得到时延采样后新的序列

(3)对时延采样后的每个序列ui沿着分块维度R′进行拼接:

式中,是经过时延率为2λ的时延采样后重组的3D张量,尽管它与双向循环神经网络的输入3D张量v在形状大小上没什么差别,但两者在内部序列顺序上发生了极大的改变。

(4)沿着hλ的第三维应用双向循环神经网络,捕获时延采样后的序列之间的相互关系,然后再通过全连接层对输出的结果进行维度变换;具体的计算公式如下:

U=[BiLSTM(hλ[:,:,m]),m=1,...,2λR′] (12)

FC=[WU[:,:,m]+b,m=1,...,2λR′] (13)

式中,是双向循环神经网络的输出,H是隐藏层的输出维度,是由索引m确定的序列, 分别是全连接层的权重和偏置,是经过全连接层维度变换后的输出。

通过这种建模方式,整个多尺度时延采样模型能够扩大感受野,额外地捕获不同尺度下的混合语音特征序列信息,例如在低时延率的情况下,获取整个序列中的音素、音调等基本信息,而在高时延率的情况下,则获取序列中的说话内容和说话人身份等信息。

(5)对(4)的结果FC进行层归一化,再与起始的输入(双向循环神经网络的输出u)进行残差连接,以便多尺度时延采样模型的收敛以及防止训练过程中出现梯度消失或梯度爆炸现象;层归一化、残差的计算公式如下:

Output=hλ+Layernorm(FC) (17)

式中,μ(FC)、σ(FC)分别表示全连接层输出的均值和方差,z、r是归一化因子,ε是一个防止分母为0的极小正数,Layernorm代表层归一化,i、j、k分别表示N、K、2λR′中的某一特定维度。

(6)重复(1)-(5),共堆叠B个多尺度时延采样模块,每个模块都采用不同的时延采样率,分别为1,2,4,...,2B-1,且时延采样率呈指数增长。通过这些模块的堆叠,使得多尺度时延采样模型在采用低时延采样率时捕获了音素级别的序列特征,并且随着时延采样率的扩大,多尺度时延采样模型进而更多地关注语义或说话人之间的特征信息,从而有效的集成了不同尺度下的特征信息,扩大了感受野,充分捕获序列间的相互关系。

步骤五,将多尺度时延采样建模后的输出Output进行重叠相加(且重叠相加的长度与编码器提取的混合语音特征序列长度相同),然后再送入一个二维卷积神经网络中,将重叠相加后的结果映射为多个说话人纯净语音的掩码,再将此掩码与原始的编码器输出(提取的混合语音特征序列)进行点乘,得到多个说话人的纯净语音表征。

步骤六,采用1维反卷积神经网络作为解码器,将掩码后的多个说话人的纯净语音表征恢复为时域的语音波形信号,实现语音的分离。

本实施例中的多尺度时延采样模型采用归一化的信噪比(SI-SNR)作为损失函数进行训练,其计算公式如下:

式中,Starget、enoise表示中间变量,x分别表示分离后的语音和纯净语音。

与现有的语音分离算法相比,本实施例中所采用的多尺度时延采样的单通道语音分离方法,充分挖掘了混合语音特征序列中潜在的相互关系,有效提升了语音分离的性能,降低了分离语音的失真率并提升了其可懂度,在理论研究和实际应用领域都具有很好的借鉴意义。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于远距离语音识别的麦克风阵列拾音方法及系统

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!