Advertisement

【语音增强论文解读 01】 A Convolutional Recurrent Neural Network for Real-Time SpeechEnhancement

阅读量:

作者:Ke Tan, DeLiang Wang

文末附文章地址与开源代码地址

1. 动机

语音增强的许多实际应用,如助听器和人工耳蜗都需要无延迟或低延迟的实时处理、

2. 方法

受CRN工作的启发,开发了一种全新的CRN架构,用于实时进行与噪声和说话者无关的语音增强。CRN 结合了因果卷积Encoder-Decoder和LSTM。在实时处理中,语音增强框架不能利用未来帧的语音,所以采用了因果卷积的Encoder-Decoder。使用LSTM的主要目的是处理噪声泛化和说话人泛化。

3. 网络架构

下图为CRN整体的网络架构:

每层的输入大小和输出大小以 featureMaps × timeSteps × frequencyChannels 格式指定。层超参数以 (kernelSize, strides, outChannels) 格式给出。

下图为各个卷积核和LSTM的详细参数:

下图描述了一个因果卷积的例子。请注意,输入可以被视为一系列特征向量,而图 1 仅说明了时间维度。在因果卷积中,输出不依赖于未来的输入。

4. 实验设置

在 WSJ0 SI84 训练集上评估模型,包括来自 83 位说话者(42 位男性和 41 位女性)的 7138 条话语。在这些演讲者中,有 6 位演讲者(3 名男性和 3 名女性)被视为未经训练的演讲者。因此,我们用剩下的 77 个说话者训练模型。为了获得与噪声无关的模型,我们使用来自音效库中的 10000 个噪声进行训练,持续时间约为 126 小时。为了进行测试,我们使用 Auditec CD中的两种具有挑战性的噪音(babble and cafeteria)。创建了一个包含320000个混合语音训练集,总持续时间约为 500 小时。具体地说,将随机选择的训练话语与10000个训练噪声中的随机切分混合在一起,其信噪比(SNR)是从{5,-4,-3,-2,-1,0}dB中随机选择的。为了研究模型的说话者泛化,我们分别使用 6 个训练的说话者(3 名男性和 3 名女性)和 6 名未经训练的说话者为每个噪声创建两个测试集。一个测试集包含 150 个由 6 个受过训练的说话者的 25 × 6 话语创建的混合,而另一个包含由 6 个未训练的说话者的 25 × 6 个话语创建的 150 个混合。请注意,所有测试话语都从训练集中排除。我们对测试集使用两个 SNR,即 -5 和 -2 dB。所有信号都以 16 kHz 采样。模型使用 Adam 优化器进行训练。我们将学习率设置为 0.0002。均方误差 (MSE) 用作目标函数。我们在话语级别上以 16 的 minibatch 大小训练模型。在一个小批量中,所有训练样本都用零填充,以具有与最长样本相同的时间步数。通过交叉验证选择最佳模型。

创立了两个LSTM基线,分别命名为LSTM-1和LSTM-2,LSTM-1使用 11 帧(过去 10 帧和当前帧 1 帧)的特征窗口来估计目标的一帧(见下图)。LSTM-2没有使用特征窗口。

5. 实验结果

我们使用 STOI 和语音质量感知评估 (PESQ)作为评估指标。表 2 和表 3 分别显示了受过训练的说话者和未经训练的说话者的未处理和已处理信号的 STOI 和 PESQ 分数。

将表 2 中的结果与表 3 中的结果进行比较,我们可以发现 CRN 可以很好地推广到未经训练的说话者。

6. 结论

提出了一个卷积循环网络来处理实时应用中与噪声和说话者无关的语音增强。所提出的模型导致了因果语音增强系统,其中没有使用未来信息。评估结果表明,就 STOI 和 PESQ 分数而言,对于受过训练和未受过训练的说话者,所提出的 CRN 始终优于两个强大的 LSTM 基线。

文章地址:https://web.cse.ohio-state.edu/~tan.650/doc/papers/Tan-Wang1.interspeech18.pdf

开源代码地址:[GitHub - haoxiangsnr/A-Convolutional-Recurrent-Neural-Network-for-Real-Time-Speech-Enhancement: A minimum unofficial implementation of the "A Convolutional Recurrent Neural Network for Real-Time Speech Enhancement" (CRN) using PyTorch](https://github.com/haoxiangsnr/A-Convolutional-Recurrent-Neural-Network-for-Real-Time-Speech-Enhancement "GitHub - haoxiangsnr/A-Convolutional-Recurrent-Neural-Network-for-Real-Time-Speech-Enhancement: A minimum unofficial implementation of the "A Convolutional Recurrent Neural Network for Real-Time Speech Enhancement" CRN using PyTorch")

全部评论 (0)

还没有任何评论哟~