MacBook 本地 AI 賽博女友:VAD、faster-whisper、Ollama、F5-TTS-MLX 串出的 voice-agent MVP
整理 Threads 上 MacBook 本地部署 AI 賽博女友小雨的技術切片:FastAPI、Web Audio API VAD、faster-whisper CPU/int8、Ollama + Qwen3-Coder-30B-A3B Q3、F5-TTS-MLX 聲音克隆與獨立 Avatar 視覺層;轉譯為 BigIntTech voice-agent MVP 的架構啟示與倫理 caveat。
Local Voice Agent / MacBook / AI Companion
MacBook 本地 AI 賽博女友:其實是一個端到端低雲依賴 voice-agent pipeline
Threads 貼文展示用 MacBook 本地部署「AI 賽博女友」小雨:麥克風收音、VAD 判斷說完、faster-whisper 做繁中語音辨識、Ollama 跑 Qwen3-Coder-30B-A3B Q3 量化模型產生回覆,再用 F5-TTS-MLX 聲音克隆輸出語音。表面上是 cyber girlfriend demo,本質上是本地即時語音助理 / companion agent 的完整技術切片。
原文 pipeline
作者在 follow-up 中把「小雨」的本地語音流程拆成:
麥克風 → VAD 自動偵測說完了 → faster-whisper 辨識 → Ollama(qwen3 30B)想回覆 → F5-TTS-MLX 克隆的聲音唸出來 → 瀏覽器自動播放
技術棧整理
| 層 | 作者使用 | 作用 | 查核 / caveat |
|---|---|---|---|
| 後端 | FastAPI + Uvicorn | 本地 REST API,串 STT / LLM / TTS | 成熟 Python Web stack;但實際 repo 未公開。 |
| LLM | Ollama + qwen3-coder-30b-a3b Q3 | 本地推論「大腦」 | Qwen/Qwen3-Coder-30B-A3B-Instruct HF license 為 Apache-2.0;30B MoE 量化仍需要較高記憶體。 |
| STT | faster-whisper CPU / int8 | 繁中語音辨識 | SYSTRAN/faster-whisper 為 MIT;中文場景仍受口音、噪音、專有名詞與 Common Voice zh-TW 資料量影響。 |
| TTS | F5-TTS-MLX | Apple Silicon 上的聲音克隆 / 語音輸出 | F5-TTS 官方 repo 為 MIT;聲音克隆涉及同意與肖像/聲紋倫理。 |
| 前端 | Web Audio API | getUserMedia + AnalyserNode 做 energy VAD、免持對話與播放 | 簡單有效,但 barge-in、echo cancellation、端點偵測仍需打磨。 |
| Avatar | Modal + ComfyUI / LivePortrait | 影片 / 視覺化 avatar 實驗 | 作者說這是獨立視覺層;Mac-only setup 無法完整即時連動。 |
GitHub / HF reality check
SYSTRAN/faster-whisper:MIT,GitHub API 查核時約 24k+ stars。