iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI Engineering

《AI Companion:30 天打造一個會聽、會說、會記得你的 AI 夥伴》系列 第 3

Day 03|讓 AI 開口說話:從 Text-to-Speech 開始

  • 分享至 

  • xImage
  •  

昨天先完成了 Speech-to-Text,讓 AI 可以把我說的話轉成文字。

今天要做的事情剛好相反:

Text
↓
TTS
↓
Audio
↓
Playback

讓 AI 可以真正「開口說話」。

從文字變成聲音

如果要做一個可以自然互動的 AI Companion,只透過文字回覆還不夠。
尤其這次以高齡陪伴為主要情境,相比一直閱讀畫面上的文字,直接用語音互動會更加直覺。

這時就需要 TTS(Text-to-Speech),也就是把文字轉換成語音。

例如輸入:

你好,今天過得怎麼樣?

會經過:

Text
↓
TTS Model
↓
Audio
↓
Playback

未來完整流程則會是:

使用者說話
↓
STT
↓
LLM
↓
TTS
↓
AI 說話

今天還沒有接 LLM,因此先從 Terminal 手動輸入文字。

為什麼選 Kokoro 82M?

一開始我測試過 Qwen3-TTS 1.7B,在目前的 Mac 與測試設定下,Warm RTF 約為 3.03。
也就是生成 1 秒語音,大約要花 3 秒,對即時聊天來說太慢。

因此這次改測:

mlx-community/Kokoro-82M-bf16

Kokoro 只有 82M,可以透過 MLX 在 Apple Silicon GPU 上本機執行,而且不需要參考音訊,只要指定文字與聲線就能直接產生語音。

目前使用:

zf_xiaoxiao

作為預設中文聲線。

第一版 TTS Demo

執行:

.venv-kokoro/bin/python -m app.tts.kokoro_cli \
  --text "你好,今天過得怎麼樣?"

流程:

輸入文字
↓
Kokoro 82M
↓
產生 WAV
↓
自動播放

也可以調整聲線與語速:

.venv-kokoro/bin/python -m app.tts.kokoro_cli \
  --text "今天有記得吃飯嗎?" \
  --voice zf_xiaoxiao \
  --speed 0.9

實測生成速度

這次使用 RTF(Real-Time Factor) 量測生成速度:

RTF = Inference Time / Audio Duration

當:

RTF < 1

代表語音生成速度比實際播放速度快。

實測結果:

測試 推論時間 音訊長度 RTF
短句 0.095 s 2.30 s 0.041
一般句 0.113 s 2.85 s 0.040
中句 0.227 s 5.35 s 0.043
長句 0.437 s 9.10 s 0.048

平均:

RTF = 0.0464

也就是生成 1 秒語音,大約只需要 0.046 秒。

模型載入時間也只有:

0.286 秒

因此目前即使不使用 Streaming TTS,整段生成完再播放,等待時間也已經很短。

中文測試

除了速度,也測試了一般中文、數字、長句、標點與不同語速。
生成的音訊再透過 MLX Whisper 回聽,純中文測試結果:

CER = 0

代表這批測試句沒有出現文字辨識錯誤。

另外測試:

speed = 0.9
speed = 1.0
speed = 1.1

三種速度都可以正確生成。
如果之後主要提供給高齡使用者,我目前比較傾向使用:

speed = 0.9

讓語速稍微慢一點。

目前比較明顯的問題是中英文混合,英文詞的發音容易出錯,因此之後可能需要在送進 TTS 前先做文字正規化。

今天完成了什麼?

Day 03 完成:

Text
↓
Kokoro 82M
↓
Audio
↓
Playback

Kokoro 在 Apple MLX GPU 上平均 RTF 約為 0.0464,已經能快速完成中文語音生成。

目前 TTS 架構也先決定拆成:

一般聊天
→ Kokoro 82M
→ 固定中文聲線

家人克隆聲線
→ Qwen3-TTS
→ Voice Cloning

一般聊天優先追求低延遲,需要家人聲音時,再使用 Voice Cloning。

下一步:Voice Cloning

現在 AI 已經可以快速把文字說出來,但目前仍然使用模型提供的固定聲線。

下一步要測試的是:

如果只提供一小段真人錄音,AI 能不能用相似的聲音說出新的內容?

Day 04 準備進入 Voice Cloning


上一篇
Day 02|先讓 AI 聽懂你:從 Speech-to-Text 開始
下一篇
Day 04|讓 AI 用熟悉的聲音說話:Voice Cloning 實作
系列文
《AI Companion:30 天打造一個會聽、會說、會記得你的 AI 夥伴》5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言