自学内容网 自学内容网

Tacotron:[Tacotron: A Fully End-To-End Text-To-Speech Synthesis Model]

前言

介绍

语音合成系统通常包含多个阶段,例如TTS Frontend,Acoustic model和Vocoder,如下图更直观清晰一点:
在这里插入图片描述
构建这些组件通常需要广泛的领域专业知识,并且可能包含脆弱的设计选择。在很多人困扰于繁杂的特征处理的时候,Google推出了Tacotron,一种从文字直接合成语音的端到端的语音合成模型,虽然在效果上相较于传统方法要好,但是相比Wavenet并没有明显的提升(甚至不如Wavenet),不过它更重要的意义在于end-to-end(Wavenet是啥将在后面对比vocoder的时候讲解,顺便提一下Tacotron使用的是Griffin-Lim算法,而Tacotron2使用的是修改版Wavenet)。此外,相较于其他样本级自回归方法合成语音,Tacotron和Tacotron2是在帧级生成语音,因此要快得多。

在传统的Pipeline的统计参数TTS,通常有一个文本前端提取各种语言特征,持续时间模型,声学特征预测模型和基于复杂信号处理的声码器。而端到端的语音合成模型,只需要对文本语音进行简单的处理,就能喂给模型进行学习,极大的减少的人工干预,对文本的处理只需要进行文本规范化以及分词token转换(论文中使用character,不过就语音合成而言,使用Phoneme字典更佳),关于文本规范化(数字、货币、时间、日期转完整单词序列)以及text-to-phoneme可以参见我的另一篇利器:TTS Frontend 中英Text-to-Phoneme Converter,附代码。端到端语音合成系统的优点如下:

  • 减少对特征工程的需求
  • 更容易适应新数据(不同语言、说话者等)
  • 单个模型可能比组合模型更健壮,在组合模型中,每个组件的错误都可能叠加而变得更加复杂

端到端语音合成模型的困难所在:
不同Speaker styles以及不同pronunciations导致的对于给定的输入,模型必须对不同的信号有着更大的健壮性,除此之外Tacotron原本下描述:

TTS is a large-scale inverse problem: a highly compressed source (text) is “decompressed” into audio

上面这句是Tacotron原文中说的,简单来说就是TTS输出是连续的,并且输出序列(音频)通常比输入序列(文本)长得多,导致预测误差迅速累积。想要了解更多关于语音合成的背景知识,可以参考文章Text-to-speech

模型结构

Tacotron

Tacotron的基础架构是Seq2Seq模型,下图是模型的总体架构,该模型包括编码器,基于注意力的解码器和post-processing net,从高层次上讲,模型将字符作为输入,并生成频谱图,然后将其转换为波形。
在这里插入图片描述
要特别说明的是架构中,raw text经过pre-net后,将会把输出喂给一个叫CBHG的模块以映射为hidden representation,再之后decoder会生成mel-spectrogram frame。所谓CBHG就是作者使用的一种用来从序列中提取高层次特征的模块,如下图所示:
在这里插入图片描述

CBHG内部结构说明

CBHG使用了1D卷积、highway、残差链接和双向GRU的组合,输入序列,输出同样也是序列,因此&


原文地址:https://blog.csdn.net/mohen_777/article/details/140609506

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!