语音合成技术入门之Tacotron

语音合成TTS

学习李宏毅课程。

输入文字,输出语音。
在这里插入图片描述

端到端之前TTS

18世纪就有,能找到demo的是1939年VODER。
就像电子琴一样,用手控制发出不同声音。

在这里插入图片描述
到1960年,IBM计算机能合成出歌唱声。

波形拼接
过去最常用的商用语音合成系统:
就是在库里对每个音都存起来,比如说你好吗,就把这三个字的音从数据库里找出来,拼接在一起。
在这里插入图片描述
局限性:1. 不自然;2. 要男女声都有,数据库非常大。

随着机器学习的发展,出现了:
参数合成
在这里插入图片描述
机器输出概率最大的那个,但概率最大的讲就是均值,所以很长一段都是同样的输出,听起来比较奇怪,但也有人解决这个问题,不过解决方法都很复杂。

后来,进入深度学习时代。

Deep Voice
每个蓝色模块都是基于深度学习的。当时人们只是想到对每个部分进行训练。
在这里插入图片描述
如果把上面每个模块都串起来一起train,就是端到端TTS。

端到端TTS

早期端到端TTS
早期人们尝试输入音素,输出如基频,频谱等声学特征,然后用声码器合成。或者输入字,输出声学特征。
在这里插入图片描述

Tacotron

而tacotron是最狂的,输入文字,直接输出语谱图,然后就能线性变换到波形。
在这里插入图片描述

tacotron字面是什么意思呢?
taco是一种食物,墨西哥卷饼。tron就只是为了增加科技感。
在这里插入图片描述

Tacotron结构

在这里插入图片描述

Encoder:
把输入的文字转成一组向量。
甚至输入可以有标点符号,让机器学到逗号就是停顿,句号就是结束,感叹号就很惊讶的样子等等。

在这里插入图片描述

  • Pre-net:就是几层全连接的神经网络。
  • CBHG:一个比较复杂的模块。(CB就是Conv Bank;H就是Highway layers ;G就是GRU)

为什么要用CBHG,可以不用吗?
可以,v2版本就没用了。
在这里插入图片描述
Attention
文字和声音要有个对应的顺序。
哪段文本,对用声音的哪段语谱。这个对应关系的建模就用attention机制,如下图,如果是左边很好的一条对角线,就说明结果比较好,右边的比较模糊,说明模型有问题。
在这里插入图片描述
Decoder
将encoder编码的向量,解码成语谱。注意,Decoder每次会输出好几个向量(why?因为语音信号比较长,一个向量才几毫秒,太短了,多输出几个减少运算量)。第一代里r=3或5。第二代r=1。
在这里插入图片描述

Decoder整体结构如下,如何判断句子结束呢?把RNN接上一个二分类器,输出小于0.5就继续,大于0.5就结束。

训练的时候,输入有正确答案,测试的时候没有,导致mismatch。但有个dropout机制,在训练的时候模拟出错的情况。
在这里插入图片描述
Post processing
在第一代里是CBHG模块,第二代里就是一堆卷积。
后处理的神经网络作用:
Non-causal,就是可以看整段向量是什么。
对Decoder输出的向量做检查修正。
在这里插入图片描述

Tacotron系统好坏?
可以看到第二代很强,一个关键原因是换成了神经网络声码器。
在这里插入图片描述
在这里插入图片描述
有个很重要的发现:
Tacotron在推理阶段要加dropout!!!
为什么呢?一般dropout在训练时用,推理时要去掉。但Tacotron推理要是不用的话压根出不来人声。目前还没有好的解释为什么。

Tacotron之后

问题一:
tacotron的音质已经接近真人,但会拼错字。
为什么呢?
语料库的词汇不够。目前最大的语料库如LibriTTS,有585小时语音,但包含的词汇量不到十万个。所以tacotron看到新词,就会念错。

在这里插入图片描述

解决法1:输入从文字word换成音素phoneme。
把正确发音加入词典中。
在这里插入图片描述
解决法2:把文法信息也输入进去。
在这里插入图片描述
解决法3:把Bert embdding作为输入。
BERT能把每个词汇抽出它的表示(包含丰富语义信息)

问题二:对齐问题

Attention

纵轴:encoder输出
横轴:decoder输出
最好是一条对角线。
在训练时的loss上多加一个正则项,用来制约,即有禁止进入的区域。

Guided Attention:
在这里插入图片描述

单调Attention:
这种要求Attention必须由左向右。
在这里插入图片描述

定位意识Attention:
在语音识别中也有。
在这里插入图片描述
还有很多其他方法。
GMMv2b,DCA等。训练的时候用时间<10sec的句子,推理的时候用长句子,随句子越长,很多attention崩塌了。

在这里插入图片描述

还有这篇文章,只在推理阶段mask,从Speaker Embedding中得到位置编码。
在这里插入图片描述

Fast Speech

需要ground truth,知道每个音素character对应哪段mel-spe。那这个对应关系怎么得到呢?
先训个tacotron,根据attention得到这个对应。理论上,也可以用个语音识别系统ASR,做下force alignment。
在这里插入图片描述
重读,漏读,错读,Fast Speech相比好很多。

在这里插入图片描述
难道Tacotron效果就这么差?其实也没这么夸张,如果推理数据和训练数据类型差不多的话,它就会有好的表现,作者故意找了50句对语音合成有挑战的句子:
在这里插入图片描述
Dual Learning: ASR & TTS
把这两个接在一起,可以互相增进彼此能力。
在这里插入图片描述
在这里插入图片描述

Controllable TTS

Speech:关注说什么,怎么说,谁在说。
在这里插入图片描述

如果想让机器输出抑扬顿挫的话,给机器一个reference的语音,形象一点,教机器请你跟我这样说。和语音转换,它们的训练方法很类似。
在这里插入图片描述

怎么训练 Controllable TTS?
输入一段文字,一段reference的语音,端到端的训练。
在这里插入图片描述
但是存在的问题是:
这个Model可看作autoencoder。如果机器学学到reference的语音和目标语音是一模一样的,就可以最小化误差。然后它就不管文字是什么,直接复制referenc的语音就可以啦。你想让它说hello,结果它直接复制了I love you的语音内容,这显然不是我们想要的。
在这里插入图片描述

那怎么才能让Model只抽取reference语音的语者信息?

法1:Speaker Embedding
用个预训练模型,输出的向量只包含语者信息,训TTS Model时,就固定住这个预训练模型。就只需要少量的refenrence 语音。
在这里插入图片描述

法2:GST-Tacotron
GST = Global style tokens

特征提取网络输出一个向量,把这一个向量复制,长度和Encoder输出的向量长度一样。然后,有人把这两组向量拼接,有人相加(结果差不多),再做一下attention,就和原来tacotron一样。
在这里插入图片描述
问题是,特征提取怎么保证不抽取说话人信息?
做了如下设计。
首先特征提取网络里有个encoder,其输出一个向量,作为Attention的权重,特征提取网络参数的一部分vector set,把它两想乘相加,得到最终的一个输出向量。
怎么保证特征提取网络输出的就是style的tokens,而不是说话人呢?因为谷歌当时训练的时候只输入了单一人的音频,所以没有语者信息。
在这里插入图片描述

人们发现,vector set里面的每个token,对应着音高,语速等等的变化,可以手调weight。
比如下图,Token A代表语速,Token B代表戏剧化,通过调attention weight,高低起伏越来越大。
在这里插入图片描述
法3:Two-stage Training
训练的时候就输入文本内容和reference语音内容不一样。
在这里插入图片描述

但问题是,不知道ground truth应该长什么样?
后面接个ASR系统。有点像GAN。可以保证输出的内容是想要的。
如果TTS和ASR都是端到端Attention的,就像他们的Attention一致,可以作为训练目标。
在这里插入图片描述

Tacotron2实战

理论

2017年谷歌提出。
在这里插入图片描述
输入:文本T
输出:梅尔语谱特征F
在这里插入图片描述
训练时,额外输入声学特征(梅尔语谱),叫作force teaching。测试时,就不需要了,直接将上一时刻的输出作为输入。
那训练时能不能不要额外输入声学特征,直接用上一时刻输出?也可以,但效果不太好。

这个网络的缺点?就是context固定。后面引入了Attention。
在这里插入图片描述

Tacotron2具体结构:(推理过程)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16430.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音合成技术

关注52AI&#xff0c;做AI的行业领先者。QQ人工智能行业交流群&#xff1a;626784247. 01 本期分享的主题是语音合成技术&#xff0c;以下是本次分享的主要内容&#xff1a; 1.语音合成技术简介 1.1 什么是语音合成&#xff1f; 语音合成技术是将任意文本转换成语音的技术。是人…

语音合成技术简介

文章目录 前言一、传统语音合成系统1. 总体框架2. 基于统计参数的语音合成2.1 系统流程图2.2 模型算法 二、端到端的合成语音系统1. 总体框架2. 基于深度学习的语音合成2.1 系统流程图2.2 特征网络模型算法1. Tacotron2. DeepVoice3. DeepVoice24. DeepVoice3 & Tacotron25…

语音合成 - TTS gTTS

目录 1. 简单介绍 2. 代码示例 1. 简单介绍 https://gtts.readthedocs.io/en/latest/https://gtts.readthedocs.io/en/latest/ gTTS 是基于 Python 的文本转语音库&#xff0c;用于语音合成。 2. 代码示例 安装&#xff1a; pip install gTTS Python: from gtts import…

在线语音合成工具代码

语音合成软件语音合成助手免费版下载语音合成助手语音合成技术语音合成器语音合成工具下载语音合成软件哪个好用语音合成软件免费版语音合成网易有道智云语音合成网站 <div class"container mx-auto" id"app"><div class"card lg:card-side …

VITS 语音合成完全端到端TTS的里程碑

Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech&#xff08;ICML 2021&#xff09; KAKAO公司与KAIST韩国科学院&#xff0c;近年在TTS领域佳作频出&#xff0c;目前最主流的HiFiGAN声码器也是其成果。 目录 概览&#xff1…

MS-TTS:免费微软TTS语音合成工具(一键合成导出MP3音频)

声明 本工具是个免费工具&#xff0c;遇到问题&#xff0c;还请自行解决&#xff0c;下面有文字教程&#xff0c;B站有视频教程&#xff08;链接在文章末尾&#xff09;&#xff1b; 其次&#xff0c;微软接口卡顿&#xff0c;连接超时等问题下方有详细说明&#xff0c;请仔细…

某团mtgsig逆向学习

声明&#xff1a;本文仅限学习交流使用&#xff0c;禁止用于非法用途、商业活动等。否则后果自负。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;本教程也没有专门针对某个网站而编写&#xff0c;单纯的技术研究 目录 案例分析参数分析效果展示 案例分析 目标案…

高通量代谢组学四路筛选法,揭秘“神药”二甲双胍延长寿命的机制

百趣代谢组学分享—研究背景 目前据统计中国糖尿病患者人数达9700万以上&#xff0c;数量达到世界第一。这其中2型糖尿病占到了90%以上。二甲双胍是目前治疗2型糖尿病的一线“明星”药物&#xff0c;因其较少出现低血糖和体重增加副作用而受到广大患者和医生的青睐。代谢组学文…

推荐:ChatGPT指令大全(37个)

使用时&#xff0c;可参考这些语境。会问问题&#xff0c;才是最重要的。 AGI 时代必备&#xff1a;《提问的艺术——让ChatGPT导出高质量答案》38 赞同 7 评论文章 1. 写报告&#xff1a;我现在正在 [报告的情境与目的]。我的简报主题是 [主题]&#xff0c;请提供 [数字] 种…

启蒙教师周志华亲自讲解,机器学习视频课上线了

主讲&#xff1a;周志华&#xff0c;南京大学教授 人工智能从1956年正式成为一个学科&#xff0c;机器学习是人工智能的核心研究领域之一。今天的“人工智能热潮”正是由于机器学习等技术取得了巨大进展&#xff0c;并基于大数据、大算力发挥出巨大威力。 《机器学习初步》课…

斯坦福| ChatGPT用于生成式搜索引擎的可行性

文&#xff5c;智商掉了一地 随着 ChatGPT 在文本生成领域迈出了重要一步&#xff0c;Bing 浏览器也接入了聊天机器人功能&#xff0c;因此如何保证 Bing Chat 等搜索引擎结果的精确率和真实性也成为了搜索领域的热门话题之一。 当我们使用搜索引擎时&#xff0c;往往希望搜索结…

ChatGPT应用-ArxivGPT谷歌插件 解放正在苦苦读论文的你

一句话介绍 总结arXiv中论文的关键点&#xff0c;并提供重要见解 详细介绍 ArxivGPT是一个谷歌Chrome插件&#xff0c;可帮助您快速了解arXiv论文的内容。只需单击一下&#xff0c;即可总结论文并提供关键见解&#xff0c;节省您的时间并帮助您快速掌握主要思想和概念。无论…

【ChatGPT】【Sloved】Access denied,Error reference number: 1020

问题描述 You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site. Ray ID: 7b25a4dfce2a985bTimestamp: 2023-04-04 01:05:37 UTCYour IP address: 2602:feda:dd7:a0ba:4166:9982:e009:2e35Reque…

旋律生成学习日记(一)

123因为自己做音频方向&#xff0c;偶然看见了旋律生成这个东西&#xff0c;就想自己学着做一做&#xff0c;网上现有文章不多&#xff0c;我自己瞎琢磨琢磨。 第一章转自&#xff1a;(64条消息) 基于深度学习LSTM算法生成音乐_lstm生成音乐_lbship的博客-CSDN博客 MID数据集…

国内唯一可以在本地搭建Stable Diffusion WebUI教程-安装时无需魔法安装全程流畅到尖叫

Stable Diffusion是什么 Stable Diffusion简称SD是一款Ai图片生成工具。“输入几句话,生成精美图片。” 比如说我一开头这幅图片就是用的SD生成的。 我在我的“ChatGPT让我变成了“超人”-如何提升团队30%效能质量提高100%的阶段性总结报告”里提到过midjourney,但是midjou…

电子表格软件的开山鼻祖 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 5 月 11 日&#xff0c;在 1995 年的今天&#xff0c;我国成为第六个研制成功磁悬浮列车的国家。磁悬浮列车利用“同性相斥&#xff0c;异性相吸”的原理&#…

行业报告 | AIGC发展研究

原创 | 文 BFT机器人 01 技术篇 深度学习进化史:知识变轨 风起云涌 已发生的关键步骤&#xff1a; 人工神经网络的诞生 反向传播算法的提出 GPU的使用 大数据的出现 预训练和迁移学习 生成对抗网络 (GAN) 的发明 强化学习的成功应用 自然语言处理的突破 即将发生的关键…

手把手带你快速实现直播聊天室

废话不多说&#xff0c;直接开干&#xff01; 工具要求&#xff1a; (1) Android Studio 3.2或更高版本。 (2) SDK targetVersion至少为26。 本文聊天室是集成环信IM SDK实现聊天功能&#xff0c;及实现发送礼物、点赞和弹幕等功能。视频直播采用的是七牛相关的推拉流SDK。app …

地摊叫卖、超市播音工具-简洁的文字转语音播音软件

简介&#xff1a; 文件名称 : 播音员.exe 文件大小 : 0.5MB (568KB) 文件类型 : application/x-dosexec 运行平台 : Windows7 / Windows10 软件功能 : 自定义语录文字、图片&#xff0c;快捷发送聊天 软件特色 : 无需安装、永久免费、无自启、无广告 关于软件&#xff1a; 1、…

海威超市播音易源码+成品

介绍&#xff1a; 源码介绍&#xff1a; 目前一直在用的超市播音软件&#xff0c;送给不会编程的人&#xff0c;下载后打开直接可用&#xff01; 会编程的人&#xff0c;可以修改后使用&#xff01; 网盘下载地址&#xff1a; http://kekewangLuo.cc/VM4aIepRMTH 图片&#x…