漫谈语音合成之Char2Wav模型

2017 年 12 月 31 日 深度学习每日摘要 DLdigest

漫谈语音合成之Char2Wav模型

语音合成是指将文本转化成音频的过程,整个过程的难点可以用两个词语来形容:清晰度(Intelligibility)自然度(Naturalness),清晰度是指合成的音频是否是干净的,是否可以被人听懂;而自然度是指合成的音频是否融合了情感上的色彩。传统的语音合成通常有两种做法,一种是合成式,另外一种是参数式,下面我们分别看它们各自的特点。

合成式(Concatenative TTS),这种方法需要大量的剪辑音频组成的数据库,然后根据文本内容从数据库中挑选相应的音频片段,把它们拼到一起播放即可。相信大家坐过火车,火车站的语音播报基本上都是这种简单粗暴的拼凑式语音,小编每次听到那种语音播报都觉得十分刺耳,为原本无聊的候车时光增添了更多无聊。这种方法有很多缺点,自然度差是其一,另外一个缺点是需要预先找到足够多的音频片段,不然文本中如果出现数据库中没有的字词就无法工作了。

参数式(Parametric TTS),这种方法是根据语音的基本参数来合成语音,一个参数式语音合成系统通常包含两个阶段:首先是从文本中提取语言特征,例如音节、停顿时间等,然后提取能够代表音频的特征,如倒谱、频谱、基频等。将这些语言特征和音频特征作为Vocoder的输入,然后即可产生对应文本的音频。这种方法所需要的工作量以及数据库数量相比于合成式都要少,但是,这些特征都是人为手动提取的,是基于我们人类对音频的理解,这些手动提取的特征不一定就完全适合语音合成。既然这样,为什么不把深度学习这种自动提取特征的方法引入呢?于是,深度学习就逐渐被应用到语音合成之中。

我们可以通过深度学习自动提取特征然后直接合成音频,将深度学习引入到语音合成中已有先例——DeepMind提取的wavenet模型,之前我写过这篇论文的解读,大家可以参考详述DeepMind wavenet原理及其TensorFlow实现,wavenet采取的是一种自回归生成的方法,单纯的wavenet可以基于已有的音频无监督地合成新的音频,同时,它也可以用于TTS以及语音识别,wavenet的缺点就是合成一秒钟的音频需要4秒中的生成时间,百度的Deep Voice后来对wavenet作出了改进,将其提升了400倍,另外Google最近也发表了新的论文,对wavenet的速度提升了1000倍,这些模型我们以后再详细介绍。

Char2Wav模型是由Bengio组提出来的一种基于深度学习的端对端语音合成模型,Char2Wav由两部分构成,分别是readerneural vocoder,其中reader是一个基于注意力机制的seq2seq模型,编码器是一个双向的循环神经网络(BiRNN),使用文本或者音节作为输入,解码器是一个基于注意力机制的RNN,输出声学特征。neural vocoder是一个基于SampleRNN(SampleRNN语音合成模型)的条件抽样过程,可以直接输出音频的波形表示。不同于传统的语音合成模型,Char2Wav直接将文本作为输入就可以输出音频,Char2Wav的模型结构如下图所示。

在reader部分,作者借鉴了Chorowski提出的ARSG模型,ARSG模型基于序列X来生成序列Y,而这里的序列X就是文本或音节序列,序列Y则是声学特征序列。在ARSG的第i步,基于h生成y的步骤如下公式所示:

在neural vocoder部分,作者采用了SampleRNN来获取高质量的音频输出,SampleRNN是一个由启发性的带有不同时钟频率的循环层构成的自回归生成模型,其结构如下图所示,这种具有启发性的结构使得捕捉长程音频之间的关联性变得更加容易,作者使用了SampleRNN的条件概率版本,即把从reader输出的每一帧的声学特征附加到SampleRNN中top tier的相应状态,这样就可以根据过去的音频样本以及声学特征来一起生成新的音频样本。

在训练的时候,作者首先分别对reader和neural vocoder分别进行了预训练,将归一化之后的WORLD声学特征作为reader的目标序列和neural vocoder的输入,最后将reader和neural vocoder一起做端对端训练。作者的代码已经开源,地址是http://github.com/sotelo/parrot


你可能会感兴趣的文章有:

漫谈Capsule Network基本原理

漫谈机器阅读理解之Facebook提出的DrQA系统

详解TensorFlow Eager命令式执行环境

动态层归一化(Dynamic Layer Normalization)

端对端的深度卷积神经网络在语音识别中的应用

SampleRNN语音合成模型

详述DeepMind wavenet原理及其TensorFlow实现

Layer Normalization原理及其TensorFlow实现

Batch Normalization原理及其TensorFlow实现

Maxout Network原理及其TensorFlow实现

时延神经网络(TDNN)原理及其TensorFlow实现

ConvLSTM原理及其TensorFlow实现

Network-in-Network原理及其TensorFlow实现

如何基于TensorFlow实现ResNet和HighwayNet

详解TensorFlow的新seq2seq模块及其用法

TensorFlow seq2seq中的Attention机制(续)

漫谈神经语言模型之中文输入法

深度学习每日摘要|坚持技术,追求原创

微信ID:deeplearningdigest
长按二维码关注我
登录查看更多
8

相关内容

语音合成(Speech Synthesis),也称为文语转换(Text-to-Speech, TTS,它是将任意的输入文本转换成自然流畅的语音输出。语音合成涉及到人工智能、心理学、声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域中的一项前沿技术。 随着计算机技术的不断提高,语音合成技术从早期的共振峰合成,逐步发展为波形拼接合成和统计参数语音合成,再发展到混合语音合成;合成语音的质量、自然度已经得到明显提高,基本能满足一些特定场合的应用需求。目前,语音合成技术在银行、医院等的信息播报系统、汽车导航系统、自动应答呼叫中心等都有广泛应用,取得了巨大的经济效益。 另外,随着智能手机、MP3、PDA 等与我们生活密切相关的媒介的大量涌现,语音合成的应用也在逐渐向娱乐、语音教学、康复治疗等领域深入。可以说语音合成正在影响着人们生活的方方面面。
【DeepMind推荐】居家学习的人工智能干货资源大全集
专知会员服务
107+阅读 · 2020年6月27日
自回归模型:PixelCNN
专知会员服务
25+阅读 · 2020年3月21日
【Amazon】使用预先训练的Transformer模型进行数据增强
专知会员服务
56+阅读 · 2020年3月6日
【新书】深度学习搜索,Deep Learning for Search,附327页pdf
专知会员服务
202+阅读 · 2020年1月13日
斯坦福&谷歌Jeff Dean最新Nature论文:医疗深度学习技术指南
已删除
将门创投
4+阅读 · 2019年10月11日
基于Tacotron模型的语音合成实践
深度学习每日摘要
15+阅读 · 2018年12月25日
SampleRNN语音合成模型
深度学习每日摘要
4+阅读 · 2017年7月3日
详述DeepMind wavenet原理及其TensorFlow实现
深度学习每日摘要
12+阅读 · 2017年6月26日
Arxiv
6+阅读 · 2020年4月14日
Arxiv
8+阅读 · 2018年11月27日
Arxiv
6+阅读 · 2018年7月29日
Arxiv
3+阅读 · 2018年6月19日
Arxiv
3+阅读 · 2018年2月24日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员