
1. 简介
DPRNN提出的依据:因此如果出现超长的语音序列,使用传统的RNN模型将无法高效的处理。而一维卷积的感受野小于音频序列长度,因此无法进行utterance-level的语音分离。
DPRNN 是一种双路径递归神经网络,在深度模型上优化RNN,使其可以对极长的语音序列进行建模。其将较长的音频片段分成较小的块(chunk),迭代应用块内和块间操作。
当前时域的语音分离方法主要分为两个部分:自适应前端和直接回归
- 自适应前端方法:构建可学习的前端(Encoder)来代替STFT,生成类似时频图的特征作为分离模块的输入进行分离。这个方法的好处是可以在窗口大小和前端基频数量方面有更多灵活的选择。代表模型为Conv-TasNet。
- 直接回归方法:通过一维卷积神经网络(1-D CNN)来学习混合语音到干净语音的映射关系,而无需明确的短时傅里叶变换。
2. 模型架构
模型包含三个阶段:分段,块处理和重叠相加。
2.1 分段
该阶段将长序列输入数据分割成重叠的小块(chunk),并连接成3-D张量。
输入序列数据表示为 W ∈ R N × L W \in R^{N \times L} W∈RN×L, 其中N表示特征维度(取决于Encoder部分的维度),L表示序列长度(时间步的长度)。将W分割成长度为K,块移(hop size)为P的块(chunk)。使用零扩展(zero-padding)处理第一个块和最后一个块。最终得到S个块,每块数据用 D s ∈ R N × K D_s \in R^{N \times K} Ds