Sequence-to-Sequence Acoustic Modeling for Voice Conversion

作者:Zhang Jingxuan, Dai Lirong
期刊:Trans on Audio, Speech and Language Processing
时间:2019.2.7

absract:

本文提出一个seq2seq conversion network(SCENT),用于语音转换中的声学建模。
训练阶段:SCENT 模型用attention机制,估计source和target之间的精确对齐。
转换阶段:source的声学特征和持续时间(duration)被同一个声学模型同时转换。
Mel谱(包含激励和声道描述)作为声学特征。用ASR从source speech中提取bottleneck feature作为额外的输入。
基于mel谱的Wavenet vocoder作为声码器。
本文的优点是:可以合理的估计duration,其他的转换方法很难做到,也超越了作者自己2018 Voice Conversion Challenge的结果。

1. introduction

统计模型:souce和target的声学特征帧级别对齐(比如DTW算法),然后用于训练声学模型;转换的时候source通过转换函数生成target,最后用vocoder合成语音。这个方法的缺点是:严格帧级别对齐,duration不变,仅做F0的线性变换。但是人说话是高度动态的,帧对齐的建模方式限制了建模能力。
本文提出的是seq2seq的建模,给定source,直接估计目标的条件概率。使用encoder-decoder based ottention的模型,encoder将输入编码成高维表示,每一个decoder time step,attention 选取(softly??)encoder的输出,编码成context vector,然后decoder根据vector一帧帧预测输出。
post-filter network用于增强转换的精确度,wavenet vocoder是说话人相关的。
mel特征不依赖source-filter假设,f0和声学特征联合建模,bottleneck feature加在mel之后,改善转换语音的发音准确度。attention 模块学习source-target之间的soft alignment,从而能够动态的预测tart get duration.
本文做的是one-to-one的转换,但是也可以通过增加speaker encoder扩展到many-to-many的转换。

2. related work
A. Relationship with sequence-to-sequence learning for text- to-speech

seq2seq的TTS已经获得一些成功,它和voice conversion不同的是:TTS输入的间断的语言信息,voice conversion输入的是连续的声学信息,而且里边有包含说话人特征;其次,两者的对齐方式略有不同,TTS是一个解压缩的过程,one-to-many的映射,然后在voice conversion中,可能是one-to-many,也会是many-to-many。第三:vc可用的训练数据会明显少于TTS。

B. Relationship with voice cloning

voice cloning是在TTS任务中用很少的数据合成某个unseen speaker的语音,输入是文本,采用speaker embedding和speaker adaptation技术。voice conversion不同的是,用ASR提取的语言特征作为输入,且只有source speech作为输入,输出是确定的paired target speech。但是voice cloning会有益于我们的任务向many-to-many的方向拓展。

C. Sequence-to-sequence learning for voice conversion

【31】用了seq-to-seq with attention,但是受理论限制,不能直接用它的预测产生实值输出;
【32】用seq-to-seq without attention,因此DTW算法依然是做帧级别的对齐;
【33】提出用seq-to-seq模型预测文本后验概率,用RNN-based encoder-decoder结构将source每一个音素后验概率的序列,conversion阶段target 音素的duration很重要。
我们的工作和【31】很相似,构建一个句子级的seq2seq with attention。采用mel谱作为声学特征,因此F0和谱参数被联合转换。我们的方法不需要DTW做对齐,自动预测target的声学duration,每个解码步预测概率。

D.Voice conversion using WaveNet

WaveNet作为重建波形的网络已经被成功的用于TTS和voice conversion,本文训练的WaveNet以mel谱为输入,speaker-dependent。

3. PROPOSED METHOD

A. Overall architecture

在这里插入图片描述

B. Feature extraction

在一个识别数据集上训练一个RNN-based ASR 模型,在最后一个激活层(softmax)之前提取输出作为bottleneck feature,这个是语言相关的特征。每一帧提取到的mel-spec和bottleneck feature横向拼接,作为输入。

C. Structure of SCENT

在这里插入图片描述
(1)encoder

location code:
在这里插入图片描述
i 是dim-index,n是时间步,d是隐向量的维度
用【44:attention is all u need】的配置1000作为location code,它的有用之处在于给出现在处理的seq location的精确信息。并且会在本文的ablation test中给出证明。
 encoder的金字塔型结构生成了比输入序列短的隐层表示,希望encoder能够排除source speech中说话人相关的信息,提取到的h是高度语言相关的。因为一个音素对应多个声学帧,对输入序列进行降采样是合理的。而且,隐层表示更低的采样率使得attention module更容易收敛,因为这样会使得attention解码计算的时候有更少的encoding state。金字塔型另外的优点是减少计算量,大大加速训练和infer的时间。

(2)decoder with attention mechanism
decoder是自回归的RNN,从隐层表示中预测声学帧。每个decoder step预测不重叠的n帧。将整个decoder step划分为r步也是一个进一步减少训练预测时间的trick。图2说明了r=1的decoder示意(为了表示清楚)。每个时间步的输出 y ( t − 1 ) y_(t-1) y(t1)再送入PreNet(pre-processing net–2层MLP,relu & drop out),以及LSTM layer with attention。attention概率和隐层表示相乘,求和得到context vector。
在这里插入图片描述

本文采用混合的attention机制,在计算attention 概率时考虑之前decoder的对齐。为了提取位置信息,对之前时间步的对齐做卷积。公式10的第一部分计算量query vector( q t q_t qt)和encoder不同输出之前的关系,第二部分基于之前decoder的对齐 a t a_t at并且给当前对attention 概率给出限制。
在这里插入图片描述
除此之外,forward attention method【45】被用于稳定attention的对齐并且加速收敛。forward attention的动机是语音生成中的单调性对齐,因此 forward variable a t n a_t^n atn仅仅考虑单调对齐的路径。它从原始的attention概率 e t n e_t^n etn中计算,然后代替公式8中的 e t n e_t^n etn
除此之外,location code加在decoder input的每个时间不,自回归。

(3)post-filtering network
改进预测的mel谱,用2层1-d conv提取更多的文本信息。输入输出之间有resnet连接。
(4)损失函数
在这里插入图片描述
三部分组成损失函数,各自有占比W,dec和post都是和真实mel谱的loss,end是个二值交叉熵损失。
在选择损失函数的时候, L d e c L_dec Ldec选GMM-ML(z最大似然),它会更加灵活,因为建模了更多的概率分布。而MSE会因为averaging effect导致过平滑的预测。
L p o s t L_post Lpost用MSE;只有最后一个decoder step的 L e n d L_end Lend标记为1,其他steps都是0.
在这里插入图片描述

4. experiment
A. experiment conditions

在这里插入图片描述
三个baseline的实验

  • JD-GMM:
  • DNN:声学特征和bottleneck feature拼接,映射MCC(41)+F0(1)+BAPs(5)
  • VCC2018: bottleneck feature映射MCC(41)+F0(1)+BAPs(5)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值