当前位置: 首页 > news >正文

【文字到语音的论文总结】

1.文字到语音的整个过程

文字到语音的一般整体结构

主要是下面这个流程,每个网络可能会把其中两者或是三者融合在一起来;
在这里插入图片描述

长度不同的问题

生成的语音可能和文字的长度并不一样,因此需要解决这个问题

  • Tactron使用的是交叉注意力的方式解决他们长度不同的问题
  • fastSpeech直接预测了输出的长度,通过将文本信息拷贝几分的方式,获得了相同的长度。

2.各种具体的网络结构

2.1WaveNet

2.1.1研究动机

  • 原有的语音生成模型大多采用RNN这个东西太慢了,不如采用一个卷积的结构,来进行替代;
  • 卷积是前后都感知的这不合适,因此改一下,只让其卷进去前面的部分,这样就合理了。称为“因果卷积”
  • 既然使用了卷积,那么使用空洞卷积就自然而然了。

2.1.2结构和类型

输入输出

将声学模型和发声器全部都融合在一起了
输入处理过的字符串信息,输出语音

类型是自回归

2.1.3不能解决的问题

  • 虽然训练的时候比较快,但是在预测的时候,开始启动时候因为空洞卷积的问题需要多轮。(这里不确定需要再确认)

2.2tactron

在这里插入图片描述

2.2.1研究动机

1.前人的融合工作还是不太够,不能真正的端到端,因此作者这里再融合一下;
2.文本序列较长的时候会导致较大的累计误差,作者使用交叉注意力机制来解决这个问题,这个貌似也是交叉注意力本身的研究动机;
3.预测较慢,由于语音信息前后比较相近,因此作者就直接一次预测三帧。

2.2.2结构和类型

输入输出

将字符串分析和声学模型融合在一起了
输入是字符串,输出是梅尔频谱

网络结构

使用机器翻译借鉴过来的模型CBHG

类型是自回归

2.2.3奇怪的点

虽然声学模块用的是自回归的,但是这个交叉注意力一进去,其实每个节点不都有全局信息了吗

2.3fastSpeech

2.3.1研究动机

  • 采用自回归是有一定问题的,因为自回归是非常缓慢的,并且由于累计误差会在最终结果当中产生重大错误;
  • 前人采用自回归的问题是被迫为之,主要是不知道每个文字需要说多长时间,于是本文作者发明了一个先预测每个字说多长时间再整体预测全流程该怎么说的网络结果。
  • 想要实现这个预测说多久其实也不是很复杂,因为可以用别人训练好的TTS模型直接来进行得到。

2.3.2 结构和类型

输入输出

也是将文本分析和声学模型融合在一起
输入是文字串输出是梅尔谱

类型是非自回归

2.4fastSpeech2

  • 之前的网络较为复杂,消除蒸馏可以更好的简化网络
  • 之前通过长度预测可以调整输入的长度对齐,那么是否可以通过类似位置加入其他模块来增加更多语音信息(音高、能量、情感等);
http://www.lryc.cn/news/159119.html

相关文章:

  • E. Data Structures Fan(思维 + 异或前缀和)
  • 初学python爬虫学习笔记——爬取网页中小说标题
  • The WebSocket session [x] has been closed and no method (apart from close())
  • 前端实现展开收起的效果 (react)
  • ABY2.0:更低的通信开销
  • vue项目预览图片
  • Tomcat 安装
  • 计算机网络的故事——HTTP报文内的HTTP信息
  • CF1120 D. Power Tree 巧妙的图论转化
  • 【算法训练-字符串 三】最长公共子串、最长公共子序列
  • lintcode 1446 · 01矩阵走路问题 【两次BFS, VIP 中等 1也计算距离,但是不入队列】
  • 第一个实例:QT实现汽车电子仪表盘
  • 【MySQL系列】MySQL的事务管理的学习(一)_ 事务概念 | 事务操作方式 | 事务隔离级别
  • 扫地机器人还能创新吗?云鲸给了个Yes
  • PHP NBA球迷俱乐部系统Dreamweaver开发mysql数据库web结构php编程计算机网页
  • JavaScript-----DOM元素
  • 激光切割机在船舶行业的的应用有哪些
  • AFL++模糊测试
  • C# 使用ListBox及Picturebox显示所选的任意路径文件夹下的图像
  • 数据库: 存储过程
  • 【juc】ReentrantReadWriteLock之缓存(仅当学习)
  • FLUX查询InfluxDB -- InfluxDB笔记三
  • pico学习进程记录已经开发项目
  • C++(20):多重继承与虚继承
  • Vue + Element UI 前端篇(一):搭建开发环境
  • 系统错误码指示确立+日志模块手动配置
  • Java入门第三季
  • 【linux命令讲解大全】056.updatedb命令:创建或更新slocate数据库文件
  • 查看视频文件关键帧间隔
  • 如何在mac上安装多版本python并配置PATH