Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron

机构:Google Inc
会议: 2018ICML

1. introduction

 为了生成可靠的语音,TTS必须依赖很多纯文本中没有包含的因子,比如:语调、重读、节奏(intonation, stress, rhythm)以及说话的风格等,这些都被称作韵律prosody。简单的一个文本随着语境不同会有多种读法,导致某些词的上扬调(rising pitch)和下降调(declining pitch)不同。语音语调上任何细微之处的区别都会传达文本之外的很多含义 。

prosody的定义-----韵律是语音信号中与音素、说话人以及通道影响无关的变量。
 最近提出的tacotron直接从graphemes或者phonemes计算 输出,韵律模型是潜在包含的,单独从训练数据的 统计结果中获得。比如说,英文中一个问号结束的句子有一个 上升调。本文中,用一个明确的prosody control,用一个encoder结构计算一个和文本以及说话人 都 无关的低维embedding,经过试验论证是可行的。
 encoder结构,latent space以及prosody embedding的提出带来的直接结果就是可以生成和训练时不一样语调的语音;另一个结果就是可以从非声学的文本中预测韵律embedding,比如 prosody labels或者conversation state。
 本文主要的共享就是提出encoder结构,从输入中提取定长的embedding,并且证明提取的transfer prosody是说话者无关的,可以自由的在句子间转换。

3. model architecture

在这里插入图片描述
 我们是基于tacotron结构,可以从grapheme或者phoneme序列直接预测MFCC,然后通过wavenet vocoder或者将MFCC通过转换网络预测线性谱,然后通过GL声码器进行转换。
 本文的实现是基于(wang,2017a)的encoder、decoder结构,用text normalization front-end and lexicon生成的phoneme序列,因为我们关注的是韵律,模型无法通过grapheme学到发声特征。其中,我们把(wang,2017a)的Bahdanau attention结构替换成GMM attention(Graves, 2013),发现这个改变有利于改善长句子的泛化性。
 demo页面的展示是用wavenet vocoder做的,但是vocoder不会影响transfer prosody的特性,只是语音的质量会有差别。

3.1. Multi-speaker Tacotron

 speaker embedding加在txt embedding的特征上(concat),不需要单独修改loss函数。
txt embedding的特征是 L T d T L_T*d_T 维度的表示,加上 d S d_S 的特征后,形成 L T ( d T + d S ) L_T*(d_T+d_S) 的特征表示。

3.2. Reference Encoder

 额外加一个reference encoder模块,输入信号是 L R d R L_R*d_R 的信号,然后从中计算 d P d_P 维的embedding特征,将这个定长的embedding称作是‘prosody space’。我们的目的是从这个空间中采样,通过对这个空间中元素的操纵有效的控制输出。
 添加的形式依然是concat,因此输入特征维度变成 L T ( d T + d S + d P ) L_T*(d_T+d_S+d_P) ,其中speaker embedding和prosody embedding需要扩展到指定的timestep上。
如图1所示

ref encoder在训练时没有明确的监督,而是把tacotron的loss作为它的loss。对于一个大容量的embedding, representation很容易只是简单的把输入复制到输出端,为了避免这样,像autoencoder一样,我们限制使它限制韵律的嵌入,学到紧凑(compact)的表示。
inference的时候,用ref encoder去编码任何句子,不限制去match的句子内容和speaker embedding,可以保证用另外一个人的句子也可以完成韵律迁移。

网络结构
输入信号 L R d R L_R*d_R 经过6层conv2D,进行降维,变成 128 L R 64 d R 64 128*(L_R/64)*(d_R/64) ,然后通过128-d的GRU,只取最后一个输出,为了变换到某一想要的维度,DNN做projection,激活函数会限制学到的信息,对数据幅度做归一会使得学习更容易。实验探索后发现 d p d_p 为128,激活函数用tanh最好。

3.3. Reference signal feature representation

ref encoder的输入会影响我们建模的prosody。
pitch track对于某些语言是不能建模prominence信息的,因为它不包含能量信息。MFCC是pitch track的变种,不能建模 intonation(语调)信息。本文使用mel-warped spectrum感知相关的谱总结【参考:A scale for the measurement of the psychological magnitude pitch】bottleneck实际上需要学到的是信号中不变的特征,比如prosody和录制环境。

我们也尝试用pitch track and intensity替换mel,也有效果,只是本文用了mel。

3.4. Variable-Length Prosody Embeddings

定长的prosody embedding会有明显的scaling bottleneck(缩放瓶颈),3.2的办法是用GRU最后一个时间步输出经过DNN变成定长的输出。替代的办法是用变长的prosody embedding, GRU每个时间步的输出,然后引入一个新的attention head with an attention-aggregator module。变长的prosody embedding可以生成更长的句子,但是对于文本和说话者的扰动性能并没有定长的prosody鲁棒。因此本文还是用定长的prosody。

扫描二维码关注公众号,回复: 8525727 查看本文章

4. Experiments and Results

数据集

  • 单说话人
  • 多说话人

评测指标,没有普遍接受的韵律评估的指标。从信号处理中取一些可以反映韵律相关的特征指标。短的句子处理成和长句子一致,然后比较。所有的pitch和发声指标用YIN基频估计算法。

  • MCD 梅尔谱失真
  • GPE (gross picth error) 有声帧的pitch偏离refer 20%以上的百分比。
  • VDE(voicing decision error)
  • FFE( F0 frame error) GPE 20%的错误率或者voicing decision的错误率

主观评测

  • AXY discrimination test A是reference signal,X和Y是合成的对比信号,受测者在(-3,3)的7个范围内给出哪一个的韵律和refer更像。
4.3. Same-text Prosody Transfer

在文本内容的语音上先比较是否prosody embedding有效果,比较了
(1)谱图和pitch track,说明with prosody embedding和refer更像,有相似的起振结构,但是without prosody embedding(baseline tacotron)和refer非常不像,比如中间大的停顿;(2)quantitive and subjective evaluation:就上面提到的评价指标对XY进行测试,single-speaker和multi-speaker都有对于seen speaker和unseen speaker的测试。发现在各项指标上,包括seen和unseen,with prosody embedding都全面超过baseline。

ps. 在设计reference encoder的时候要小心的控制传递的信息,不能变成单纯 的reference signle拷贝到输出。

4.4. Templated Prosody Transfer

在文本相同的句子上捕捉到很好的有时间细节的韵律特征,但是把这些韵律转到一个完全不同的句子上会怎样是不清楚的。如果句子或短语变化很大的话,转换是不理想的。这个用例可能更适合捕捉一些细粒度的韵律特征,比如情感或者风格,比如wang的style token用同样的方法建模全局特征。
给出一些样例证明可以在不损失可懂度和韵律的情况下进行文本转换,对于构建末班式的对话系统很有用,可以合成一个想要韵律的模版。

4.5. Preservation of Speaker Identity

 picth,pacing,还有其他的韵律节奏都包含子说话人特性中,很难准确定义在prosody transfer中哪个影响了说话人特征。给出的demo证明了在prosody transfer的时候保留了很多说话人特性,6个发声差异很大的speaker作为refer,结果表明合成的句子很好的保留了说话人特性。但是在跨性别的转换时,男控制女,低沉; 女控制男,更高;说明韵律和说话人特征相互纠缠。
 为了量化这种纠缠关系,设计了一个说话人识别的模型,预测一句话属于训练中seen的说话人中哪一个。模型结构和3.2的reference encoder一样,单独训练,在44-speakers上达到了99%的精度。

  • 然后测试:refer signal和target送入prosody-enhanced tacotron中,结果表明61%来自refer,21%来自target。说明样本大部分更像ref。
  • 模型似乎转了pitch相关的prosody,仅此进一步探究:用13个MFCC训练说话人判别模型,这次结果41%来自ref, 32%来自target。说明说话人相关的pitch从refer转到输出。
4.6. Bottleneck Size and Shape

在MCD和FFE的指标上(1)探究了bottleneck size, 包括 2 4 , 2 5 , 2 6 , 2 7 2^4,2^5,2^6,2^7 ,发现size越大,refer的信息流过的越多;(2)尝试了 t a n h tanh s o f t m a x softmax 的激活函数,发现 s o f t m a x softmax 会有性能下降,可能是因为其中non-maximax component(非最大组件)的指数压缩。
主观评测的结果和上述一致。

另一方面可以解释:size越小,target speaker的信息保留越多。

发布了98 篇原创文章 · 获赞 9 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_40168949/article/details/90446175
今日推荐