《Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancement》

在这里插入图片描述

本文使用speaker embedding和noise embedding分别建模说话人信息和噪声信息,并将其作为条件输入到模型。

先用干净多话者数据和加了噪声的数据预训练模型; 再用带噪声的低资源数据adaption; 最后只加入干净语音mask推理,合成干净的声音。

与直接使用降噪数据finetune预训练模型(baseline:干净数据训练,降噪数据finetune)相比,效果更好。

本文亮点主要有:

  • 说明了使用mel-mask与使用降噪语音训练TTS的优势
  • 噪声数据可以用于训练。
  • 可以在有噪声的条件下保留说话人信息

问题:

  • 测试阶段,使用的adaption阶段4个说话人的音色,怎么证明具有unseen speaker的能力?

Q&A

Q1: noise embedding是如何获得的?目的是什么,是为了建模特定的噪声还是广义上的噪声?是为了让模型识别噪声,然后自动滤除噪声吗?

noise embedding是一种mask, 由预训练的增强模型获得(模型输出的MASK), 通过这个mask, 再进行高维特征的提取,可以表征该音频对应的噪声。

Q2: noisy augment data是什么?加了噪声的干净数据吗

是的

Q3 stage2的 Adapt目的是什么?

Q4 低资源递到什么程度?

200-300句, 约20分钟?

Q5 降噪是怎么降噪的?noisy mask是怎么提取的?denoise mel实在怎么获取的?

speech enhancement预训练模型降噪,noisy mask中的噪声mask是该模型提取的,该模型输出特征当中含有MASK。denoise mel是该模型的输出。

Q6 speaker embedding 是怎么获取的?

一个预训练的ASR模型,但是做了相应的处理,使其更好的表征说话人的音色特征。

Q7 gradient reversal layer 是什么,怎么实现的?

见参考


背景

参考文献9使用了一个额外的降噪模块,实现鲁棒的TTS。基于RNN的增强模块,用于完成噪声声学特征与干净声音声学特征之间的映射。增强的声学特征再在预训练的HMM模型上adaption, 再用STRAIGHT。但是RNN模块对丢失音色信息,不利于多话者的实现。

另一种方法[11],如图:
在这里插入图片描述
主要思想是解耦speaker identity和noisy feature。灰色部分1, 由于后面使用说话人分类和梯度反转层,因此这里学习到的是与噪声无关的speaker embedding, 下面的则是与噪声有关的,这样可以滤除噪声的影响。但是噪声是随着噪声不稳定的,且固定长度的特征无法很好的表征噪声。

因此,本文借鉴声音分离和声音增强技术,假设带噪声音是有干净语音与噪声叠加而成的,那么可以将 噪声/带噪语音 来表征噪声的能量,使用不定长的MEL-spectrum denoise Mask(including
noisy masks for noisy speechs and clean masks for clean speechs )来表征噪声信息。

梯度反转层:前面一个特征提取器,提取特征,后面一个label分类器,确保前面的特征能够再域内正确分类,另外还跟一个域分类器,损失函数带符号,让后面的模型分不清到底是属于哪一个域,从而达到两个域共享特征的目的,前面特征提取器提取的就是两哥分类器可以共享的特征。

  • https://blog.csdn.net/yskyskyer123/article/details/94905856
  • https://zhuanlan.zhihu.com/p/75470256
  • https://blog.csdn.net/qq_37385726/article/details/81738518
  • https://www.zhihu.com/question/266710153

方法

  1. pre-train : 带噪语音和干净语音预训练模型。
    • 输入:
      • speaker embedding : from pretain speaker recgonation
      • Noise representation : noise mask 来自 使用speach enhancement模型从noisy speech中提取的特征;clean mask = [1…1] , 训练数据与TTS训练数据相同,
    • 输出 : 输入为noisy mask时,输出是带噪语音,输入为clean mask时,输出为干净语音
  2. adaption :
    • 使用新的说话人数据,该数据为带噪低质量低数量数据。
  3. inference:
    • input clean mask = [1…1] as condition, and generate clean speech
      在这里插入图片描述
      在这里插入图片描述
      pretrain阶段, before loss与干净语音的mel计算loss,
      adaption阶段, before loss与降噪之后的mel(来自speech enhancement model)计算loss.

细节

speaker embedding extraction

  • 来自一个ASR模型[14],模型由内部数据训练完成,约20000说话人,添加AMS损失增加区分度,提取的speaker embedding的center point作为TTS的输入

noise representation extraction

  • 参考[18], CNN+RNN+FC

  • 输入改为mel

  • DFSMN[19]((Deep Feedforward Sequential Memory Networks )替换LSTM, 降低参数量,提速。

  • 替换sogmoid为MSE:

  • 在这里插入图片描述

  • 在这里插入图片描述

  • [14] : Weidi Xie, Arsha Nagrani, Joon Son Chung, and Andrew Zisserman, “Utterance-level aggregation for speaker recognition in the wild,” in ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2019, pp. 5791–5795
  • 18论文阅读笔记 : https://blog.csdn.net/wjrenxinlei/article/details/106644800
  • [18] Jean-Marc Valin, “A hybrid dsp/deep learning approach to realtime full-band speech enhancement,” in 2018 IEEE 20th International Workshop on Multimedia Signal Processing (MMSP). IEEE, 2018, pp. 1–5.
  • [19] Shiliang Zhang, Ming Lei, Zhijie Yan, and Lirong Dai, “Deepfsmn for large vocabulary continuous speech recognition,” in 2018 IEEE International Conference on Acoustics, Speech and
    Signal Processing (ICASSP). IEEE, 2018, pp. 5869–5873

Basic TTS

  • tacotron-1

    • GMM-attention
    • WaveNet ?
  • vocoder : 貌似是自研的

data set

  • 噪声 : audio set , google
  • clean data : internal data, 30m/1100 speakers
  • adapt noise data : 200-300 utts / 4 speakers, SNR < 5dB, https://github.com/microsoft/MS-SNSD

结果

  • 上是原始mel, 中间是降噪mel, 降噪之后丢失了信息,
  • 下是mel- mask, mask表示噪声信息的同时,保留了声音信息,因此会比直接使用降噪数据更好

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3me7ufDw-1618914599089)(C:\Users\guoshaotong\AppData\Roaming\Typora\typora-user-images\image-20210419162300419.png)]

  • 与baseline相比,有提升

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jmwv6gl9-1618914599090)(C:\Users\guoshaotong\AppData\Roaming\Typora\typora-user-images\image-20210419162341017.png)]

  • 计算方法时baseline 和 proposed数据以及原始说话人数据均提取speaker embedding, 计算cosine距离,大于0.70可以视为同一个说话人。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LHgItQqr-1618914599092)(C:\Users\guoshaotong\AppData\Roaming\Typora\typora-user-images\image-20210419162351486.png)]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值