One-shot Voice Conversion with Global Speaker Embeddings

會議:2019 interspeech
單位:清華-CUHK聯合實驗室

abstract

受GST的啓發,想到用global speaker embedding表示說話人的身份特徵控制vc向目標說話人的轉換,可以僅用一句話,不需要自適應就可以完成向新的說話人轉換。PPGs作爲local condition input送入condition wavenet 合成器用於生成波形;譜特徵送入到reference encoder提取出reference embedding,然後作爲query送入到GSEs生成speaker embedding,speaker embedding是控制波形的說話人特性的global condition input

introduction

one-shot vc就是指僅用一句話完成到目標說話人的語音轉換,是vc的極限目標。
之前的方法:

  • VCC 2018用多說話人數據集訓練了wavenet vocoder,然後用新的說話人數據對base 模型進行finetune。缺點:finetune需要時間,而且需要防止過擬合。
  • IVC & SEVC的方法,用一個額外的speaker embedding extractor控制向目標說話人的轉換。
  • VAE的方法: 把speech分類成文本相關的信息,說話人相關的信息,但是需要一個設計好的分類損失函數做模型訓練加以指導。

 本文受啓發於GST,採用一個conditional wavenet的模型,vc系統和speaker embedding的部分聯合訓練,網絡中所有的參數都在波形產生的過程中被更新,不要單獨的判別函數。因此,在向任何人轉換時,不需要finetune。

model architecture

做了對比實驗

adapt-VC system

在這裏插入圖片描述
實現的細節可以看圖,網絡和我之前做的不太一樣。
訓練的時候對說話人的LF0全部進行歸一化處理,消除speaker-dependent 特性,因此只是由speaker embedding控制。
自適應的時候只更新speaker embedding的部分。

GSE-VC在這裏插入圖片描述

網絡的詳細可以看圖。
解釋GSE的原理:提供一個表示說話人身份特徵的多維度base vector的空間,attention的操作就是在空間中用這些base vector把ref-emb編碼成一個說話人表示,attention的權重可以認爲是說話人身份在空間的座標表示。

experiments

準備

訓練數據集:VCTK-102 speaker
驗證數據集:VCTK-102 speaker,每人10句
測試數據集:VCTK-4 unseen speaker(2 male, 2 female), 2個source,2個target, 組成f2f, f2m, m2f, m2m的轉換。每個測試5個句子,15個受測者。

speaker embedding: 128-d
GSE中multi-head attention : 10個

結果

MOS評測的時候,在within-gender的差別不大, cross-gender的時候GSE-VC更好一些。
並且計算了GSE的10個向量之間的的cos-similarity,表明各個特徵表達的內容不相交。

解釋MOS值更好的原因:
GSE相當於有一塊專門存儲說話人身份相關的各個特徵,當有一個新的說話人時,GSE-VC檢查存儲的區間,模仿這個新的說話人。
而ADAP-VC沒有存儲的模塊,只能通過自適應的方法學習說話人特性。

ps.看到這裏就會想,有時候一個人的一句話可變性比較大,並不一定讓GSE-VC足夠捕捉性能。是否可以提供繼續訓練的方法,一句提一個,多句提的更準確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章