作者介绍
连政,中国科学院自动化研究所模式识别国家重点实验室16级硕博生。目前研究兴趣为多模态情感识别、语音合成和语音转换。
导读
如何使人机交互中机器的声音更具情感和表现力一直是一个重要的研究热点。不同于传统pipeline式的语音合成系统,端到端的语音合成方法凭借简练的模型结构,突出的性能获得了越来越多的关注,其中以wavnet, tacotron, tacotron2等最为著名。
正文
通常的语音合成系统包含文本分析、声学模型和声码器等模块。而构建这些模块需要大量专业相关的知识以及特征工程,这将花费大量的时间和精力,而且各个模块之间组合在一起也会产生很多新的问题。近期,王雨轩等人提出TACOTRON框架,将文本分析和声学模型统一为一个模块,合成语音在自然度和清晰度方面,超越了传统的基于参数合成和拼接合成的语音合成系统。在声码器方面,传统声码器重构语音存在频谱细节丢失,语音相位依赖最小相位假设和人工设计等问题,导致重构语音自然度和音质下降,DeepMind研究者提出的WaveNet结构,可以直接学习到采样值序列的映射,因此具有很好的合成效果。目前主流的语音合成框架就是TACOTRON WaveNet的结构。
TACOTRON的核心模块是基于注意力机制的编码器-解码器模型。模型结构如下图。它包含一个编码器,一个基于注意力机制的解码器和一个后处理网络。从高层面上说,模型把字符作为输入,产生的谱参数随后被转换成波形。其中,编码器的目的,是提取文本的鲁棒序列表达。使用高效的编码器实现可以提取出更具表达力的高级别表示,从而有助于模型泛化。编码器的输入是字符序列或者音素序列(对于汉语,输入可以为带调的声韵母序列);解码器采用基于内容的注意力解码器,在这个解码器中,一个有状态的循环层在每个时间步骤上都产生一次注意点查询。再把上下文向量和Attention RNN单元的输出拼接在一起,作为解码器RNN的输入;后处理网络的任务是,把seq2seq的输出转化成可以被合成为波形的目标表达。在原始端到端模型被提出来时,使用Griffin-Lim做合成器,因此后处理网络要学习的是如何预测在线性频率刻度上采样的频谱幅度(线性谱)。
图1 TACOTRON网络结构示意图
WaveNet结构,是一种序列生成模型,可以用于语音生成建模。在语音合成的声学模型建模中,WaveNet可以直接学习到采样值序列的映射,因此具有很好的合成效果。目前Wavenet在语音合成声学模型建模,声码器方面都有应用,特别是在声码器建模方面,能够与前端端到端Tacotron进行结合,生成媲美人类录音水平的效果。网络结构如图2所示。WaveNet是一种自回归(autoregression)的深度生成模型,可以根据一个序列的前n-1个点预测第n个点的结果,因此可以用来预测语音中的采样点数值。WaveNet采用因果卷积神经网络来对条件概率建模,每个卷积层都对前一层进行卷积,卷积核越大,层数越多,时域上的感知能力越强,感知范围(receptive field)越大。在生成过程中,每生成一个点,把该点放到输入层最后一个点继续迭代生成即可。由于语音波语音的采样率高,时域上对感知范围要求大,WaveNet使用了扩张因果卷积网络结构(Dilated Casual Convolutions)来获得足够大的接受野。此外,WaveNet采用了类似PixelCNN的加门控激活函数。于此同时,WaveNet还采用残差网络结构以及参数化的跳跃链接(skip connection)来构建深层次的网络,同时这种网络结构也有助于加快模型收敛。
图2 WaveNet网络结构示意图