---
# System prepended metadata

title: '[論文筆記] Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis（Part I）'
tags: [Voice]

---

# [論文筆記] Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis（Part I）
###### tags: `Voice`

## TTS 架構
提出一個 TTS 的 neural network-based system，可以生成多個 speaker 的語音（train 時候沒見過的 Speaker ）

![](https://i.imgur.com/92nAAZN.png =480x)
![](https://i.imgur.com/CmPMc4X.png =650x)

1. 可以把模型看成三個部分組成，小紫和小紅一起完成了 TTS 的任務
1. all models can be trained separately and on distinct datasets.
1. 經過 pretrained 的 Speaker Encoder，可以訓練 Synthesizer 以直接預測 target audio 的 mel spectrogram（梅爾頻譜圖）

* Speaker Encoder（小綠）
    * Input：接收到 Speaker 的音頻
    * Output：
        * 捕捉 input 中 Speaker 的音色，為任意的 unseen speaker 生成對應的 speaker embedding（Speaker ==音色的向量==）
        * meaningful representation of the voice of the speaker.
* Synthesizer（小紫）
    * 一個基於 Tactron2 的 Seq2seq Synthesis Net：在 Speaker embedding 的基礎上從 text（輸入一句話） 生成 mel spectrogram（梅爾頻譜）
    * Assuming a pretrained encoder, the synthesizer can be trained to directly predict the mel spectrograms of the target audio
    * Input：Speaker embedding（Speaker Encoder）＋phoneme
    * Output：mel spectrogram（梅爾頻譜）
    ![](https://i.imgur.com/q51SSOp.png =550x)
* Vocoder（小紅）：auto-regressive WaveNet-based
    * 可以將 mel spectrogram（梅爾頻譜）轉成 Time domain waveform samples（時域訊號＝我們將要聽到的聲音）

Single speaker TTS 的表現優異，Multi-speaker TTS 自然就是一個接下來需要解決的問題，是指生成多個不同 Speaker 聲音的語音的任務

我們證明了 speaker variability 訊息（從 Discriminatively-trained 的 speaker encoder 網路中學到的）可以轉換到的 Multispeaker TTS 任務中，並且可以==合成訓練時 unseen 的 Speaker 語音==。
```
最後，我們證明了隨機 sample 的 speaker embeddings 可以 **synthesize speech**（生成和 training 時不一樣的新 Speaker 語音），說明模型已經學到 high quality 的 Speaker 特徵。
```


---

## Speaker Encoder
![](https://i.imgur.com/LqhtUAq.png)


$e_{j,i}$：第 $j$ 個 Speaker 的第 $i$ 個embedding，每個 Speaker 有 M 條 embedding（utterance 話語）
$c_j$：第 $j$ 個 Speaker 的 centroid（中心向量），$c_j=\frac{1}{M}\sum^{M}_{m=1}e_{jm}$
$S_{ji,k}$：$e_{j,i}$ 和 $c_k$ 的相似度，我們定義 $S$ 為相似矩陣。$S_{ji,k}=w · cos(e_{j,i}, c_k) + b$
$x_{ji}$（$1\leq j\leq N$, $1\leq i\leq M$)：特徵向量，從第 $j$ 個 Speaker 的 embedding $i$ 中提取的特徵。

![](https://i.imgur.com/hl8hrcs.png =450x)
希望同個 Speaker 說的所有話能夠聚類到一起，而又和其他 Speaker 說的話分隔的足夠遠
= 希望每個話語的 embedding 與該 Speaker 的 centroid 相似，同時遠離其他 Speaker 的 centroid
= 希望彩色區域的相似值較大，而灰色區域的相似值較小
* Loss 公式
    * Softmax：$L(e_{ji})=S_{ji,j}-\log \sum_{k=1}^Nexp(S_{ji,k})$
    * Contrast：$L(e_{ji})= {1-{\sigma (S_{ji,k}})+\max\limits_{\substack{1\leq k\leq N \\k\neq j}}\sigma (S_{ji,k}})$
![](https://i.imgur.com/OkSnMUu.png =300x)　![](https://i.imgur.com/YCIXviO.png =300x)


## 參考資料
:::success
### Generalized end-to-end loss for speaker verification
paper：https://arxiv.org/pdf/1710.10467v1.pdf
1. 論文翻譯：Generalized end-to-end loss for speaker verification https://www.cnblogs.com/LXP-Never/p/11799985.html
2. <解析>speaker verification模型中的GE2E損失函數
https://www.cnblogs.com/dynmi/p/13343455.html
3. GE2E說話人識別論文筆記
https://twgreatdaily.com/zh-cn/obJ9g3ABjYh_GJGVG_qx.html


### Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis
paper：https://arxiv.org/pdf/1806.04558.pdf
1. SV2TTS（Real-Time-Voice-Cloning）論文簡介及中文復現
https://zhuanlan.zhihu.com/p/112627134
:::
