2019icas--Cross-lingual Voice Conversion with Bilingual Phonetic PosteriorGram and Average Modeling

作者: Yizhou , HaizhouLi
单位:新加坡国立 & 南洋理工

abstract

 用两个单独的语音识别系统训练双语的PPGs,conversion model学习双语PPGs的关系以及对应的声学特征,为了减少不同语种下说话者的干扰,从source和target 中挑选多个说话者作为对象训练average model(训练asr or conversion?? )。I-vector作为average model自适应的另一个输入。实现了英文和普通话的across lingual 以及intra-lingual的转换。

1.introduction

 VC就是 把一个人的声音转成另一个人的声音,常用的方法是基于平行数据做谱特征映射,比如GMM,frequency wraping method,examplar based method等。还有一种方法是单语种的PPGs作为说话者无关的特征输入,跨过了说话者和语言的界限,不需要平行数据。
 跨语种任务的困难在于1⃣️很难获得平行数据做特征映射;2⃣️不同语种的音素集不一样,难以用一种语言的ppgs建模另一种语言的音素内容。
 本文用通过source和target数据集训练两个ASR系统(数据库多大 ??怎么就能训asr??),然后将两个单语种的PPGs堆叠,然后用 conversion model建模ppgs和声学特征之间的关系,因为target speaker只包含一个语种的信息,无法完整表达另一个语种的语言和声学特征。因此需要用到一个cross lingual AMA(average modeling approach)去捕捉不同语种的语言和声学信息,故而实现双向语种的voice conversion。

2. Cross-lingual Voice Conversion with monolinugal PPGs

  PPGs是一个time-verus-class的特征,代表特定时间帧音素类的后验概率,因为ASR系统是在multi-speaker上训练的,因此是说话者独立的。小的speech segment可以被不同语种共享,因此认为帧级别的特征是语种无关的【24】。PPGs是speaker-independent和lingual-independent,因此可以用于不同语种的vc【25】。

2.1 mothod

 图1说明了用单语种的ppgs做跨语种vc任务的过程。
(a)training:用单语种的target speech,经由ASR提取出ppgs特征,由WORLD Vocoder提取MCCs(梅尔倒谱系数)训练转换网络。ASR和WORLD均是由target speech训练的,
conversion function: Y=F(X)+e,e是预测的MCC和真实值之间的差别。
在这里插入图片描述
(b)conversion stage:另外一个语种的source经由训练好的ASR 系统提取ppgs,送入conversion model,然后由WORLD提取F0做线性变换,然后和AP(韵律部分)以及预测的MCC一起合成converted speech。(WORLD是否需要进行数据集的训练??)

2.2 limitation

 因为一种语言的音素特征不能够精确的表示另一种语言,所以这样的结果出来不自然,而且偏向某一种语言,并且用mono-lingual训练出来的网络更适合做单向的voice conversion,不适合双向的vc任务。

3.cross-lingual vc with bilingual ppgs and average modeling

3.1. Cross-lingual VC with bilingual PPG

 实验过程如图2所示,用两个单独的ASR系统分别提取中文和英文的ppgs,然后把他们拼接X=[Xen, Xcn],然后用图1提出的conversion model做ppgs到MCCs的映射。
{
 conversion stage:从source speech提取bilingual ppgs,(对应语种提取一种ppgs还是两个??),然后做conversion。

3.2. AMA with bilingual PPG

 为了减少不同语种之间的语言和声学特征的干扰,用两个语种的multi-speaker训练一个average model,添加i-vector作为另外的输入特征,变成X=[Xen,k; Xcn,k; Ik],Ik表明第k个speaker的i-vector(i-vector和d-vector的区别??)更多训练和转换的细节见【27】。

4.experiment

4.1 datasets and feature extraction

trainset: 从VCC2016 database挑选10个英文speaker(5男5女),从Mandarin average model database挑选10个中文speaker(5男5女),每个speaker有162句话,用于average model的训练。
**testset:**选2个英文speaker和2个中文speaker,他们的母语都是单语种,每个人有20句话。
 中文和英文的DNN-HMM ASR都是在kaldi toolkit上边训练的,中文用aishell训练6层hidden layer ,每层2018units,最后softmax输出209维ppgs。英文用WSJstreet数据集训练,5层hidden layer,每层1024个units,最后softmax输出132维ppgs。(输入纬度不一样,怎么stack??)
 WORLD提取513的线性谱,1维AP,1维F0,然后用Speech Signal Processing Toolkit 计算出40维的MCCs, i-vector的维度是150。

4.2. ExperimentSetup

实现了三个系统用于比较

  • M-PPG
    section 2.1表述的用单语种的ppgs做cross-lingual vc,(本实验的baseline),训练4个系统,target speaker SF1, SM1, 01F and 07M, 英文男/英文女/中文男/中文女,英文ppgs维度132,中文ppgs维度209。150句用于训练,12句用于验证。(150句时长多少??)

  • B-PPG
    section 3.1表述的双语种ppgs的cross-lingual vc,ppgs维度132+209=341,

  • B-PPG-AMA
    训练两个gender-dependent的average model,每一个 model10个speaker ,一共1620句话,1500用于训练,120用于测试,每一个speaker的i-vector是由他自身的150句得到,因此输入的是341+150=491维特征。
    (和baseline训练数目不同,比较性能是否不公平??)
     所有的模型都是在Merlin toolkit上训练的,2层BiLSTM,每层256 units, batchsize =25,momentum = 0.9, lr=0.0002,输出127维特征–包括MCCs(40),logF0(1), AP(1),delta, delta and delta, vuv flag(1)。
     用最大参数似然生成算法计算MCCs,然后用post-filtering进一步提高语音质量。

4.3 evaluation

 因为跨语种的vc的参考语音无法获得,因此对跨语种vc只做主观测评,对intralingual vc做客观和主观的评测。

4.3.1 MCD梅尔谱失真

Yd和Yd’分别是converted 和target的MCCs,得到的结果越小,说明失真越小。
(??什么意思?为什么这么比)
{
< imag src=“https://img-blog.csdnimg.cn/20190324164123749.png” width=“60%”>

在这里插入图片描述
 MCD的结果如上图所示。EN2EN表明source是英文,上图说明M-PPG的网络在cross-lingual的任务性能明显变差,而我们提出的任务是可以在不同语种的转换上保持较好的性能。

4.3.2 subjective evaluation

1⃣️mos打分
 有24个受测者,12个母语中文,12个母语英文,随机挑选12句话给他们听,然后对语音质量和自然度打分。
在这里插入图片描述
结果说明使用双语ppgs明显优于单语种ppgs,而且average model可以有效提升性能。
2⃣️ ABX测试
X是target,要求受测者从系统A、B的输出中选择一个和X更像的语句。
在这里插入图片描述

猜你喜欢

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