TTS 文字轉語音完全指南:技術原理、聲音克隆與 2026 選型實戰

前陣子我在測 Qwen3-TTS,官方技術報告寫著首包延遲 97ms,聽起來就是為即時對話而生的。結果我照官方範例跑起來,按下生成、等了整整 10 秒才聽到第一個字。乾,差了一百倍。

這不是我環境爛,而是 TTS 這個領域的日常:論文數字、行銷頁數字、你實際跑出來的數字,是三個平行世界。97ms 是模型架構在特定串流管線下的能力值,官方釋出的推理程式碼卻是整段生成完才回傳——你拿到的「首包」其實是「全包」。

這篇文章是我最近一輪 TTS(Text-to-Speech,文字轉語音)研究的完整整理:技術原理怎麼走到今天、聲音克隆為什麼有人要 3 秒有人要 30 分鐘、2026 年雲端 API 的真實價格與盲測排名、本地部署誰最快,以及最重要的——那些行銷頁不會告訴你的坑。

TTS 聲波從機器音演化為自然人聲的概念圖

從機器音到以假亂真:TTS 技術是怎麼演進的

十年前的 TTS 是什麼樣子?導航機那種一個字一個字蹦出來的合成音。那個年代主流做法是「拼接合成」——把真人錄音切成音素片段,播放時再拼回去,像用剪報拼勒索信,字都對但就是不像人講話。

轉捩點是 2016 年 DeepMind 的 WaveNet 和 2017 年 Google 的 Tacotron:神經網路直接學習「文字到聲音」的映射,機器音瞬間變得有血有肉。但自迴歸模型要一個取樣點一個取樣點慢慢生,慢到不能上線。後來的 FastSpeech 用非自迴歸架構把生成平行化,VITS 把聲學模型和聲碼器合併成端到端訓練,速度和品質才總算都端上桌。

真正改變遊戲規則的是 2023 年微軟的 VALL-E :它把語音壓縮成離散的 codec token,然後把 TTS 當成「條件式語言模型」來做——跟 GPT 生成文字是同一套邏輯。這帶來一個副作用級的殺手功能:in-context learning。給模型 3 秒鐘的陌生聲音當 prompt,它就能用那個聲音講出任何內容。3 秒聲音克隆這件事,就是從這裡開始的。

2024 年之後的另一條路線是 flow matching:學一個從雜訊到聲學特徵的確定性映射,非自迴歸、全部音框平行生成。F5-TTS 就是這條路的代表作,推理效率在開源模型裡是第一梯隊。到了 2026 年,兩條路線開始合流——像 Qwen3-TTS 用 12Hz 多碼本 tokenizer 搭配輕量因果卷積網路,架構上做到 97ms 首包的串流能力(先不論你跑不跑得出來,後面會講)。

拼接合成(2016 前)→ 自迴歸神經網路(WaveNet / Tacotron)→ 非自迴歸(FastSpeech / VITS)
↓ 分成兩條路線 ↓
Codec 語言模型(VALL-E 路線)|Flow Matching(F5-TTS 路線)
↓ 兩路合流 ↓
混合串流架構(Qwen3-TTS 等 2026 世代)
神經網路 TTS 管線示意圖

聲音克隆:3 秒和 30 分鐘的差別在哪

聲音克隆(voice cloning)現在分成兩派,樣本需求差了幾百倍,很多人搞不清楚自己需要哪種。

Zero-shot 即時克隆:拿幾秒鐘的錄音當參考,模型直接模仿,不做任何訓練。Cartesia 只要 3 秒、Fish Audio 要 10 秒、ElevenLabs 的 Instant Voice Clone 建議 1 到 5 分鐘。原理就是前面說的 in-context learning——你的聲音只是一段 prompt。優點是快和便宜,缺點是它抓的是「音色的平均印象」,講話的小習慣、特殊的斷句節奏抓不太到。

微調式專業克隆:拿 30 分鐘以上的乾淨錄音去實際訓練模型權重。ElevenLabs 的 Professional Voice Clone 走這條路,官方說法是「幾乎無法分辨」;開源世界的 GPT-SoVITS 用 1 分鐘資料微調就有明顯提升。代價是要準備錄音素材、等訓練,而且通常要付訂閱費(ElevenLabs 要 Creator 方案 22 美元/月起)。

哪個好?取決於你要騙過誰。做影片旁白、有聲書,zero-shot 通常夠用,聽眾對「像不像本人」的敏感度沒你想的高。但如果是品牌聲音、Podcast 主持人的數位分身,微調式的差距一聽就出來。

還有一個台灣使用者才會踩到的坑:腔調漂移。MiniMax 的克隆還原度在台灣社群實測是第一名,但多位使用者回報克隆出來的中文帶「中國腔」——模型會把你的台灣腔往標準普通話拉。這不是 bug,是訓練資料分布的必然結果。想保留台灣腔,目前最可靠的路是本地微調 GPT-SoVITS,用你自己的錄音把腔調「鎖」進權重裡。

聲音克隆的鏡像波形概念圖

2026 雲端 API 評比:盲測排名與價格的落差

先看客觀數據。Artificial Analysis 的語音盲測排行 (2026 年 6 月,ELO 制)給了一個很多人意外的結果:

服務盲測 ELO價格(每百萬字元)克隆樣本
Inworld TTS 1.5 Max1208(第 1)$25–35數秒,免費
Google Gemini 3.1 Flash TTS1206(第 2)$36.6不支援
ElevenLabs Eleven v31178(第 4)$100IVC 1–5 分鐘
MiniMax Speech 2.8 HD1164(第 5)$100數十秒,$3/顆
Fish Audio S2 Pro1128(第 11)$15(注意單位是 bytes)10 秒,免費
Azure AI Speech HD1123(第 12)$22需申請
OpenAI TTS-11102(第 17)$15不支援
Cartesia Sonic-31070(第 25)約 $393 秒,免費

看到了嗎?ElevenLabs 收最貴的錢,盲測卻只排第 4。它贏的地方在別處:發音錯誤率最低、幻覺最少、工作流最完整。Reddit 上的評價很一致——「準確、快、錯誤少,但貴,而且常常要重新生成」。

Cartesia 則是被低估的性價比之王:5 美元/月就含商用授權和 3 秒即時克隆,延遲約 90ms 是業界最低。從 ElevenLabs 跳槽過去的使用者說法是「品質差距遠小於價格差距,大概便宜 8 倍」。

然後是三個行銷頁不會寫的坑,每個都是真金白銀:

Fish Audio 的 bytes 陷阱。它的 $15/1M 是按 UTF-8 bytes 計費,一個中文字佔 3 bytes——寫中文的人實際成本是 $45/1M 字,「比 ElevenLabs 便宜 70%」的甜頭瞬間縮水成三分之一。官方定價文件 寫得清清楚楚,只是沒人細看。

ElevenLabs 的 credit 燒錢術。重新生成扣點、預覽扣點、調參數也扣點。訂閱制下 Creator 方案 22 美元換 10 萬 credits,實質單價約 $220/1M 字元,是行銷頁「$100/1M」量販價的兩倍多。加上並發數限制綁方案,量一大就被逼著升級,啊不就好棒棒。

MiniMax 的腔調問題。前一段講過了,中文還原度第一,但台灣腔會被吃掉。它的 Fluent LoRA 技術能把不流利的錄音變流利——這既是功能,也是腔調被「標準化」的原因。

開源與本地部署:RTF 才是你該看的數字

開源這邊,2026 年的重點只有一句話:品質已經追上付費服務,剩下的差距在部署難度。Resemble AI 的 Chatterbox 在盲測中拿下 63.8% 的聽眾偏好、贏過 ElevenLabs(注意這是 Resemble 自家委託的測試,看看就好,但至少說明差距不大)。

本地部署最重要的指標是 RTF(Real-Time Factor):生成 1 秒音訊要花幾秒,小於 1 就是快於即時。實測數據:

模型RTF硬體克隆授權
GPT-SoVITS v2 ProPlus0.014(RTX 4090)/ 0.526(M4 CPU)GPU 佳微調式MIT
小米 OmniVoice0.025GPU3 秒 zero-shotApache 2.0
Kokoro-82M0.44(Mac MPS),CPU 可即時CPU 即可無克隆Apache 2.0
F5-TTS開源第一梯隊GPUzero-shotCC-BY-NC,不可商用
Chatterbox4.55(Mac,GPU 上好很多)建議 GPU10 秒MIT

GPT-SoVITS 的數字值得單獨拿出來講:RTX 4090 上 RTF 0.014,官方實測 4 分鐘的音訊 3.36 秒生成完,比即時快 70 倍。而且它是微調式克隆,正是保留台灣腔的解法。缺點是學習曲線陡,WebUI 一堆參數,第一次開會有點懷疑人生。

授權地雷區要特別畫重點:F5-TTS 是 CC-BY-NC、XTTS v2 是 CPML,都不能商用。做 YouTube 有營利、接案、公司產品,用了就是法律風險。要商用又要開源,選 MIT(GPT-SoVITS、Chatterbox)或 Apache 2.0(Kokoro、Qwen3-TTS、OmniVoice)。

沒有 GPU 也別急著關頁面。Kokoro 只有 82M 參數,筆電 CPU 就能即時生成(但沒有克隆);Kyutai 在 2026 年 1 月發布的 Pocket TTS 用 100M 參數做到 CPU 即時又能克隆,這個規模半年前還被認為不可能。

雲端服務與本地部署的對比

延遲的真相:97ms 是怎麼變成 10 秒的

回到開頭那個 97ms 變 10 秒的謎題,把它拆開看,你會學到怎麼讀所有 TTS 的延遲數字。

問題現象:照 Qwen3-TTS 官方 HuggingFace 範例跑 generate_voice_clone,首包 10 秒起跳。原因分析:官方釋出的 Python 推理程式碼根本不支援串流——它把整段音訊生成完才回傳。HuggingFace 討論區有人問了一模一樣的問題 ,得到的答案是:97ms 是架構能力,要靠另外的串流管線才拿得到。更慘的案例是 GitHub issue #89 :有人在 RTX 5090 上跑出比即時慢 10 倍的速度,GPU 使用率只有 4–5%——錢花了,卡在那邊納涼。

解決方案是換推理引擎。vLLM-omni 是 vLLM 官方的多模態擴展框架,2026 年 2 月合併了 Qwen3-TTS 的 CUDA Graph 加速和串流輸出,社群實測 1.7B 模型首包 80–90ms、RTF 0.3–0.4。同一顆模型,換個引擎,延遲差一百倍。

所以讀 TTS 延遲數字的正確姿勢是問三個問題:這是串流首包(TTFA)還是全段生成時間?是什麼推理管線量出來的?我的部署方式跑不跑得出同一條管線?行銷頁的數字永遠是三者最理想的組合。

如果你不想自己架,聚合平台是捷徑。以 fal.ai 上的 Qwen3-TTS 為例,克隆分兩步——先用參考音檔產生 speaker embedding,再拿 embedding 去合成:

# pip install fal-client;需設定環境變數 FAL_KEY
import fal_client

# 第一步:從 10 秒左右的參考音檔建立聲音 embedding
clone = fal_client.subscribe(
    "fal-ai/qwen-3-tts/clone-voice/1.7b",
    arguments={"audio_url": "https://example.com/my-voice-10s.wav"},
)
embedding_url = clone["speaker_embedding"]["url"]

# 第二步:用克隆的聲音合成語音
result = fal_client.subscribe(
    "fal-ai/qwen-3-tts/text-to-speech/1.7b",
    arguments={
        "text": "大家好,這是用三秒克隆技術生成的聲音。",
        "language": "Chinese",
        "speaker_voice_embedding_file_url": embedding_url,
    },
)
print(result["audio"]["url"])  # 生成音檔的下載連結

這個端點我實際查價是 $0.0008/分鐘音訊,便宜到我一度以為查錯,做影片旁白等於零成本。代價是走 queue 沒有串流,適合離線批量生成,不適合即時對話。

選型建議:一張表決定你該用哪家

講了這麼多,直接上決策表:

你的場景首選理由
影片旁白、批量生成,預算越低越好fal 上的 Qwen3-TTS幾乎零成本,中文原生
中文克隆還原度優先MiniMax台灣社群實測還原度第一,但注意腔調
英文內容、品質零妥協ElevenLabs 或 Inworld錯誤率最低 vs 盲測第一名還便宜
即時語音對話 agentCartesia90ms 延遲業界最低,$5/月含克隆
想保留台灣腔本地 GPT-SoVITS 微調唯一能把腔調鎖進權重的路
沒有 GPU 的本地玩家Kokoro(純 TTS)/ Pocket TTS(克隆)CPU 即時

我自己的建議是別急著訂閱任何服務。先拿 10 秒自己的錄音去 fal 上的 Qwen3-TTS 跑一輪,成本趨近於零;聽不滿意再花 $1.5 建一顆 MiniMax 克隆比較看看;兩個都過不了你的耳朵關,才需要考慮 ElevenLabs 的訂閱或本地微調。從免費往上爬,而不是從最貴的往下砍。

最後提醒一件比選型更重要的事:克隆只能用在你有合法使用權的聲音上。各家平台都有驗證機制,但技術上 3 秒就能克隆任何人的聲音,也代表詐騙集團同樣做得到——這一年語音詐騙的新聞沒少過。自己的聲音自己克隆,別人的聲音先拿到授權,這條線別踩。

TTS 這個市場每季都在洗牌,ElevenLabs 兩年內改了三次價格結構,開源模型每兩個月就有新王。這篇的數據以 2026 年 7 月為準,半年後記得重新查價。如果你有實測過其他組合,特別是台灣腔克隆的成功案例,歡迎留言分享——這塊的公開資料真的太少了。

TTS 選型決策路徑示意

參考資料

沒有留言:

張貼留言

TTS 文字轉語音完全指南:技術原理、聲音克隆與 2026 選型實戰

前陣子我在測 Qwen3-TTS,官方技術報告寫著首包延遲 97ms,聽起來就是為即時對話而生的。結果我照官方範例跑起來,按下生成、等了整整 10 秒才聽到第一個字。乾,差了一百倍。 這不是我環境爛,而是 TTS 這個領域的日常:論文數字、行銷頁數字、你實際跑出來的數字,是三個...