「EP.04 我們搞懂了 Transformer 的注意力機制——但 Transformer 只是『翻譯員』, 把文字轉成 Mel 頻譜。真正讓聲音從電腦裡發出來的,是聲碼器(Vocoder)。」
這篇會帶你走過五個關鍵模型的演進:從 Tacotron2 的注意力對齊、WaveNet 的逐樣本生成、 FastSpeech2 的並行推理突破、HiFi-GAN 的對抗訓練,到 VITS 的端到端統一框架。 每個模型的出現,都在解決前一個的痛點。
📖 先備知識:Mel 頻譜(Mel Spectrogram)是什麼?
TTS 的核心流程 is 「文字 → Mel 頻譜 → 波形」,這篇介紹的每個模型都圍繞這條管線做設計。 Mel 頻譜是音頻的壓縮表示:X 軸是時間,Y 軸是頻率(按人耳感知的 Mel 尺度排列), 顏色深淺代表能量強度——可以把它想像成把聲音拍成一張「熱力圖」。
為什麼不直接處理原始波形?原始音頻(24kHz)每秒有 24,000 個採樣點,資訊冗餘極高且難以學習。 Mel 頻譜把 30 秒音頻壓縮到 3,000 幀 × 80 頻道,更接近人耳實際感知聲音的方式, 是 Tacotron2、FastSpeech2、Whisper 共同採用的中間表示格式。
原始波形
24,000 數字/秒
資訊冗餘,難直接學習
Mel 頻譜
100 幀/秒 × 80 bins
TTS 聲學模型的標準格式
重建波形
聲碼器合成輸出
最終播放的音頻
TTS 模型演進總覽
TTS 的歷史可以拆成三個世代。每個世代的分水嶺,都是「推理速度」與「音質」的重新平衡。
音質首次逼近人聲,但速度慘不忍睹(比實時慢 2000×)
文字直接轉 Mel 頻譜,搭配 WaveNet 聲碼器,端到端訓練
並行生成 Mel 頻譜,速度提升 38×,同時加入音高/能量控制
用對抗訓練取代自回歸,實時生成且音質接近 WaveNet
文字直接輸出波形,不再需要分開訓練聲學模型和聲碼器
Tacotron2:seq2seq + 注意力對齊
Tacotron2(2018,Google)是第一個被廣泛部署的神經 TTS 系統。 它把「文字→Mel 頻譜」這一步做成一個 Encoder-Decoder 架構,並用注意力機制做對齊。
Tacotron2 架構流程
音素/字元輸入
Encoder (CBHG)
Location-Sensitive Attention
Decoder (自回歸)
Mel 頻譜
WaveNet 聲碼器
波形輸出
✅ 優點
- • 自然度高,注意力對齊穩定
- • 端到端訓練文字→Mel 頻譜
- • 不需要人工設計音素規則
❌ 缺點
- • 自回歸解碼:逐幀生成,極慢
- • 注意力有時對齊失敗(跳字、重複)
- • 仍需外掛 WaveNet 聲碼器
Location-Sensitive Attention 是什麼?
普通注意力每一步都從頭掃全部輸入。Location-Sensitive Attention 額外加入「上一步注意力在哪裡」作為卷積特徵, 讓注意力更傾向往前移動,避免卡住或倒退——這解決了 Tacotron1 常見的對齊崩壞問題。
WaveNet:膨脹因果卷積的聲碼器
WaveNet(2016,DeepMind)是神經聲碼器的開山之作。它直接在原始波形(raw waveform)上建模, 而不是先轉成頻率特徵,因此音質極高——但代價是速度極慢。
膨脹因果卷積(Dilated Causal Convolution)
因果(Causal):生成第 t 個樣本時,只能看 t 之前的樣本,不能「偷看未來」。
膨脹(Dilated):每一層的感受野以指數倍增長,用少量層數覆蓋極長的上下文。
膨脹率(Dilation Rate)視覺化
紫色格子 = 當前計算節點,藍色 = 它直接看到的樣本。4 層後感受野已達 16 個樣本。
WaveNet 的致命弱點:自回歸生成
生成 1 秒的音頻需要輸出 24,000 個樣本(24kHz)。因為每個樣本依賴前一個, 無法並行——原始 WaveNet 生成 1 秒音頻需要幾十分鐘。 這導致它在 2016–2019 年只能在 Google 的伺服器上運行,無法部署到邊緣裝置。
FastSpeech2:非自回歸的並行突破
FastSpeech2(2020,微軟)直接拋棄了自回歸解碼,改用顯式預測 Duration(時長)的方式, 讓所有 Mel 幀可以同時並行生成,速度提升約 38 倍。
FastSpeech2 核心設計
Feed-Forward Transformer Encoder
音素序列 → 隱藏表示(每個音素一個向量)
Variance Adaptor(方差適配器)
同時預測:Duration(每個音素幾幀)、Pitch F0(音高曲線)、Energy(能量強度)
Length Regulator(長度調節器)
根據 Duration 把音素向量「複製展開」到 Mel 幀序列長度,無需注意力對齊
Feed-Forward Transformer Decoder
並行輸出所有 Mel 幀 → 接 HiFi-GAN 聲碼器
38×
推理速度
比 Tacotron2 快
F0 曲線
音高控制
可精細調整語調
Duration
語速控制
直接縮放倍率
HiFi-GAN:高保真神經聲碼器
HiFi-GAN(2020,Jungil Kong et al.)用 GAN(生成對抗網路)徹底取代了 WaveNet 的自回歸生成, 實現了「實時 + 高音質」的雙重突破。它是目前部署最廣泛的聲碼器之一。
HiFi-GAN 訓練框架
🎭 Generator
輸入 Mel 頻譜 → 輸出原始波形
架構:多個 Upsampling 轉置卷積 + 殘差塊(MRF)
目標:騙過 Discriminator
📏 MPD(多週期鑑別器)
把波形以週期 p = {2,3,5,7,11} 重排成 2D
捕捉不同頻率的週期性結構
📐 MSD(多尺度鑑別器)
在原始 + 2× + 4× 下採樣波形上分別鑑別
捕捉不同時間粒度的特徵
訓練損失函數
- • GAN Loss:Generator vs Discriminator 對抗
- • Feature Matching Loss:中間層特徵對齊真實音頻
- • Mel-Spectrogram Loss:直接對比 Mel 頻譜
結果
V1 模型:推理速度是實時的 13.4×
MOS 分數比 WaveNet 高,且速度快 100 倍以上
| 聲碼器 | 速度 | 音質 | 備註 |
|---|---|---|---|
| Griffin-Lim | ⚡ 極快 | ⭐⭐ 普通 | 無需訓練,音質機械感重 |
| WaveNet | 🐢 極慢 | ⭐⭐⭐⭐⭐ 最高 | 開創性,但無法實時 |
| Parallel WaveNet | ⚡⚡ 快 | ⭐⭐⭐⭐ 高 | 知識蒸餾加速,Google 部署版 |
| WaveGlow | ⚡⚡ 快 | ⭐⭐⭐⭐ 高 | Flow-based,NVIDIA 出品 |
| HiFi-GAN | ⚡⚡⚡ 極快 | ⭐⭐⭐⭐⭐ 極高 | 目前最主流,VITS 內建採用 |
VITS:端到端的終極方案
VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech,2021,Kakao) 是目前最被廣泛採用的開源 TTS 架構。它的核心突破是:文字直接輸出波形,不再需要分開訓練聲學模型和聲碼器。
VITS 為什麼是「端到端」?
傳統 2-stage 管線
文字/音素
Acoustic Model (FastSpeech2)
Mel 頻譜
Vocoder (HiFi-GAN)
波形
❌ 兩套模型分開訓練,誤差累積
VITS 端到端
文字/音素
Prior Encoder (Text → latent)
MAS 對齊 (無需手動標注)
Flow Decoder + HiFi-GAN Generator
波形
✅ 單一模型,聯合最佳化
VITS 的三個核心技術
1. 條件變分自編碼器(CVAE)
訓練時:音頻 → Posterior Encoder → 潛在變數 z(VAE 的 reparameterization trick)。推理時:文字 → Prior Encoder → 估計 z 的分布,從中採樣。
2. Normalizing Flow(規範化流)
把複雜的潛在分布轉換成簡單高斯分布(可逆映射)。讓 Prior Encoder 能夠精確估計 Posterior 的分布,縮小 KL Divergence。
3. Monotonic Alignment Search(MAS)
不用人工標注音素時長。用動態規劃自動找出文字與 Mel 幀之間的單調對齊路徑,與模型聯合訓練。這解決了 FastSpeech2 需要外部 MFA 對齊工具的問題。
五大模型完整對比
📊 MOS(Mean Opinion Score)是什麼?
MOS 是語音品質的主觀評分標準,由真人聽眾評分(範圍 1–5 分,5 分最好)。 因為 TTS 的目標是「聽起來像人聲」,客觀指標(如 SNR 信噪比)難以完整衡量主觀自然度, 因此業界以 MOS 作為音質比較的基準。4.0 以上即達到接近自然人聲的水準; VITS 的 4.7 已在部分評估中超過真人語音錄音的得分。
| 模型 | 年份 | 類型 | 推理速度 | 音質 (MOS) | 訓練難度 | 現況 |
|---|---|---|---|---|---|---|
| WaveNet | 2016 | 自回歸聲碼器 | 🐢 極慢 | 4.6/5 | 中 | 已被取代 |
| Tacotron2 | 2018 | seq2seq 聲學 | 🐢 慢 | 4.5/5 | 中 | 教學用 |
| FastSpeech2 | 2020 | 非自回歸聲學 | ⚡⚡ 快 | 4.4/5 | 中高 | 仍廣泛使用 |
| HiFi-GAN | 2020 | GAN 聲碼器 | ⚡⚡⚡ 極快 | 4.5/5 | 高 | 主流聲碼器 |
| VITS | 2021 | 端到端 | ⚡⚡⚡ 極快 | 4.7/5 | 高 | ⭐ 目前最佳 |
本篇重點回顧
下一篇:EP.06 將進入嵌入式部署實戰—— 這麼好的模型,怎麼壓縮到邊緣裝置上跑?Pruning、Quantization、知識蒸餾的取捨是什麼?