声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表 http://yqli.tech/page/tts_pape.html TTS 开源数据 低调奋进。

如转载,请标明出处:微信公众号,头条号: 低调奋进


目录

1 介绍

2 内容详解

3 总结

4 引用


1 介绍

现有的TTS无论是single speaker model 或者multi-speaker model都需要大量高质量<text, audio>的训练数据,这将大大增加了企业的成本,而且很多小的研究机构很难获取大量高质量数据。因此,使用网络、手机等获取的生活中带有噪声数据进行模型训练引起很多研究者的兴趣。Robust TTS的目的就是使用低质量数据合成高品质音质的TTS。另外,Robust TTS研究很多与少数据量的个性化研究结合在一起,因此本问的Robust TTS研究范围包括使用噪声数据和使用少量带噪数据获取高质量的TTS。 Robust TTS需要解决的两个问题:低质量和少数据。低质量数据,顾名思义就是数据质量不高,存在许多噪音,因此如何处理噪声是首要的难题。少数据就是处理one-shot或few-shots的问题,就是如何使用几句或者几十句复刻说话者的声音,很多文章提出各种方案。
          该领域发表的文章很多,我在本文主要选取以下3篇文章进行介绍,我在语音定制实验(20句话复刻声音)中,曾跑过些实验,对该方向的研究还算熟悉。
1)Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization
2) Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancement
3) Data-Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training

2 内容详解

首先说下如何处理低质量的问题,其解决方案有两种:使用去噪算法对音频进行去噪和学习噪声的表征。第一种算法这里不做介绍,主要使用DSP中的去噪算法对原始音频进行去噪,该方法主要作为baseline进行对比。这里主要介绍第二种方法,学习噪声的表征。其次,少数据量的问题就是处理one-shot或few-shots的问题。其中one-shot解决方案采用speaker encoder。few-shots的解决方案为speaker embedding学习。

噪声学习的难点在于噪声是无法进行标注的,因此必须设计模块来学习未标注的属性,主要包括说话人特性zs和噪声属性zr。我经过试验证明,在multispeaker模型训练,如果不加任何的模块直接对噪声数据进行noise 特征进行学习,不但无法清除噪声,反而对说话人的音质造成极大伤害。

为了解决音频隐含属性的学习,文章Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization[1](如图一所示)增加了speaker encoder 和residual encoder 模块来学习speech的隐含属性zs和噪声属性zr。为了能够学习出上边的属性,在训练阶段,需要添加speaker classifier和augmentation 的DAT,其中data augmentation是使用干净数据进行加噪处理获取,数据处理的信噪比为5-25db。训练阶段,使用acoustic 输入到speaker encoder和residual encoder获取属性zs和zr。其中zs输入到adversarial factorizarion模块,同时zs zr和text输入到decoder输出 acoustic模型 (模型使用的是tacotron,具体细节不做介绍,需要读者自己去做了解)。

该文章进行了很多实验对比,在此不进行详细的介绍,只拿出比较关心的MOS测试。从结果来看,该方法的MOS 4.52比基准的3.22高许多(4.52感觉有点高)。

文章Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancements[2]使用了speech enhancement中noise masks作为条件来去除噪声干扰。该文章主要提出在预训练的模型基础上做少数据低质量音频的个性化语音定制。其训练流程主要分为三步。第一步,基础模型的训练。该步骤使用大量的干净和带噪的数据进行基础模型训练,其中Noise数据可以通过干净数据添加噪声来获取(上篇文章的data augmentation)。该阶段合成speech的条件为text, speaker embedings和noise/clean masks。第二步,自适用阶段。该步骤是使用手机或者互联网等获取少数量带噪数据进行个性化语音定制,请注意speech的输入条件为text, new speaker embedding和noise masks。第三步推理阶段,与第二步自适应训练阶段主要不同之处为把条件noise masks换成clean masks。

以上主要讲述训练流程。该文章也是在tacotron上进行试验,其中speaker embedding和noise表征嵌入方式如下。另外,通过试验,个人感觉speaker embedding拼接在decoder部分效果较好,其它文章也有类似的结论。

试验结果表明,使用本文章方法做出个性化试验比直接对音频去噪的合成音频MOS较高。

文章Data-Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training [3]主要使用domain adversarial training进行噪声特征的学习。具体结构如下,该系统的one shot使用speaker encoder来获取。few shots使用speaker embeding table来学习获取。噪声的学习主要在prenent后边添加一层gru层然后通过DAT模块来分解噪声特征的学习,从而达到去噪的效果。该文章的训练流程跟上篇文章相似,此处不再赘述。

实验结果表明,无论是one shot抑或few shots的个性化定制效果都不错。

3 总结

Robust TTS通过在TTS系统中添加noise tags来提高合成音频质量,其中关键点就是noise的表征学习和嵌入。该方向的实验我已经尝试,并且可以很好的清除噪声。生活场景中存在混响,而且混响的特征不是那么容易学习,我通过添加混响数据,最终的结果并没有提高,因此如何去除混响也是将来研究的重点。

4 引用

[1] Hsu W N, Zhang Y, Weiss R J, et al. Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization[C]//ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2019: 5901-5905.
[2] Dai D, Chen L, Wang Y, et al. Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancement[J]. arXiv preprint arXiv:2005.12531, 2020.
[3]Cong J, Yang S, Xie L, et al. Data Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training[J]. arXiv preprint arXiv:2008.04265, 2020.

语音合成(speech synthesis)方向二:鲁棒TTS(Robust TTS)相关推荐

  1. 【论文学习】《A Survey on Neural Speech Synthesis》

    <A Survey on Neural Speech Synthesis>论文学习 文章目录 <A Survey on Neural Speech Synthesis>论文学习 ...

  2. 使用Speech Synthesis API 做语音播放

    前提:富文本去除标签,只留下纯文本  == >>  str.replace(/<[^>]+>/g, "") 这是在vue中使用,以下是项目实际代码: ...

  3. 干货!鲁棒彩票现象:藏在随机初始化神经网络中的鲁棒子网络

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 深度神经网络已被发现容易受到对抗性样本的影响,即一个人眼不可见的扰动会让神经网络做出错误的预测,对抗训练也因此被提出,通过在原始训练图片 ...

  4. matlab 鲁棒优化,yalmip求解鲁棒优化

    使用yalmip求解鲁棒优化 前言 鲁棒优化简介 yalmip 实操求解 优化问题 示例代码 结果 总结 前言 记录一下早期夭折的研究想法,想使用鲁棒优化(robust optimization,RO ...

  5. 计算机视觉入门-最小二乘法、随机取样法、鲁棒估计、霍夫变换

    第三章 拟合(Fitting) 就是为了给定数学公式生成线来描述图像 首先我们对图片处理可能会受到三个方面的影响: 1.噪声 偏离正确位置 2.无关数据 就是不属于检测物体的轮廓线 3.遗漏数据 因为 ...

  6. 语音合成(speech synthesis)方向十一:聊一聊增量式语音合成(iTTS)进化史

    声明:工作以来主要从事TTS,VC以及ASR等等相关工作,平时看些文章做些笔记.文章中难免存在错误的地方,还望大家海涵.平时搜集一些资料,方便查阅学习:TTS 论文列表 http://yqli.tec ...

  7. 语音合成(speech synthesis)方向五:多语言模型multi-lingual and code switch speech synthesis

    本文稍长,希望能耐住性子看下去 声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记.文章中难免存在错误的地方,还望大家海涵.平时搜集一些资料,方便查阅学习:TTS 论文列表 ht ...

  8. 语音合成(speech synthesis)方向一:双重学习Dual Learning

    声明:工作以来主要从事TTS工作,平时看些文章做些笔记.文章中难免存在错误的地方,还望大家海涵.平时搜集一些资料,方便查阅学习:TTS 论文列表 http://yqli.tech/page/tts_p ...

  9. 语音合成(speech synthesis)方向七:脑机接口之基于脑电图语音合成

    声明:工作以来主要从事TTS工作,平时看些文章做些笔记.文章中难免存在错误的地方,还望大家海涵.平时搜集一些资料,方便查阅学习:TTS 论文列表 http://yqli.tech/page/tts_p ...

最新文章

  1. 小朋友的视频直播之 nginx-rtmp
  2. jq操作url请求的参数
  3. 百度地图开发实例文章(一)
  4. docker pull命令入门
  5. VS2017配置opencv教程(超详细!!!)
  6. JAVA语言基础——基本语法
  7. matlab向量乘法要加.,matlab中的矩阵与向量运算
  8. 非线性方程求根方法——二分法
  9. 报表工具使用教程-FineReport决策报表导出Plus
  10. 云计算基础知识培训讲义
  11. NAND FLASH加载ramdisk文件系统
  12. 京东2018校园招聘 数据开发
  13. 重磅更新 | zData数据库一体机 v4.9
  14. Failed to register product: 检索 COM 类工厂中 CLSID 为 {1ECCA34C-E88A-44E3-8D6A-8921BDE9E452} 的组件失败,原因是...
  15. Adobe Premiere Pro CC 2019启动时提示找不到任何具有视频播放功能的模板,请更新视频显示驱动程序并再次启动/PR启动时提示找不到任何具有视频播放功能的模板
  16. 已知某一点坐标、线段长度和旋转角度,求另一点坐标
  17. 怎样使input失去焦点
  18. C语言高精度加法(含c++版)
  19. 福禄克FLUKE 435-2电能质量分析仪测试瞬态与电压不平衡
  20. iMail Basic 功能之导入和导出

热门文章

  1. Tensorflow图像识别 Tensorflow手写体识别(二)
  2. TCP三次握手、四次分手
  3. 不同网段设备间ARP请求处理
  4. 什么是AnTi防御-无限防方案?能帮助游戏解决哪些攻击问题?
  5. 物联网“新篇章”:如何将机器学习引入边缘计算?
  6. 运维技能定级标准第4篇——关于运维工程师岗位的自动化运维与运维开发技能级别设计
  7. Peercast简介、分析及常见问题处理 (一)
  8. IntelliJ IDEA Live Temlates功能使用举例介绍
  9. linux添加其他源,Debian添加软件源,debian添加
  10. PCI Express物理层 - 电气部分