SynapseWire

2026 自建本地 AI 語音助理完整教學:用 Whisper + Ollama + Piper 打造離線語音助手

想擺脫 Alexa 和 Google Assistant 的訂閱費與隱私風險?這篇教學帶你用三個開源工具——Whisper、Ollama、Piper——在家裡跑一個完全不連網的 AI 語音助理,從安裝到串流優化,手把手教你搞定。

作者: SynapseWire 編輯部 發布於:
一張科技插畫,顯示三個發光元件——麥克風、晶片和喇叭——以箭頭串聯,背景為深藍紫色漸層,代表本地 AI 語音管線

你有沒有想過,為什麼你家的 Alexa 或 Google Nest 每講一句話都要把錄音傳回雲端?答案是:因為商業語音助理的商業模式就是這樣——你的語音資料是產品,不是服務。2026 年,這種事情有解了。而且解法不用花你半毛訂閱費。

這篇文章要用三個開源工具,幫你在自己的機器上跑一個完全離線的 AI 語音助理:Whisper 負責聽懂你說什麼,Ollama 當大腦想答案,Piper 把答案說出來。整條管線不碰雲端,錄音不出你家網路,甚至你把路由器拔掉它都照常運作。

這個架構怎麼運作的?

概念很簡單:三個獨立的模型串成一條管線,每個只做好一件事。

階段工作工具說明
語音辨識 (STT)把麥克風收到的聲音轉成文字faster-whisperWhisper 的 CTranslate2 重寫版,比原版快 4 倍
推理 (LLM)根據文字生成回覆Ollama本機 LLM 執行器,支援上百種模型
語音合成 (TTS)把回覆文字轉成語音播放Piper輕量神經 TTS,Raspberry Pi 上都能即時跑

就是這麼單純。而且因為每層都是獨立、可替換的,你不會被鎖在任何一家廠商的生態系裡。今天用 Llama 當大腦,明天想換 Qwen 也只需要一行指令。

步驟一:安裝 faster-whisper(語音轉文字)

Whisper 是 OpenAI 開源的語音辨識模型,但原版 PyTorch 實作偏慢。社群維護的 faster-whisper 用 CTranslate2 引擎重寫過,GPU 上快四倍、CPU 上快兩倍,準確率一樣。

pip install faster-whisper

Whisper 提供多種模型大小,選哪個看你的硬體和需求:

  • tiny (39M):最快但準確率最低,適合測試
  • base (74M):速度與準確率的入門平衡點
  • small (244M):多數語音助理的甜蜜點——夠準、夠快
  • medium (769M):明顯更準,但需要更多運算
  • large-v3 (1.55B):最強但對助理來說殺雞用牛刀

一般家用語音指令,small 就很夠用了。除非你需要轉錄複雜的技術對話,才需要上到 medium。

from faster_whisper import WhisperModel

model = WhisperModel("small", device="cuda", compute_type="int8")
segments, info = model.transcribe("audio.wav")
for segment in segments:
    print(segment.text)

步驟二:設定 Ollama 當大腦

Ollama 是目前最主流的本機 LLM 執行工具,截至 2026 年中,熱門模型的總下載量已經破億(llama3.1 有 1.16 億次 pull)。安裝只要一行:

curl -fsSL https://ollama.com/install.sh | sh

對語音助理來說,大腦要小要快——沒人想問「今天天氣怎樣」然後等十五秒才聽到答案。推薦以下模型:

低配版(16GB RAM / 無獨顯):

ollama pull qwen3:4b    # 最快,Apache 2.0 授權,Pi 5 也能跑
ollama pull llama3.2:3b # 品質稍好,速度略慢

中高配版(32GB+ / 有獨顯):

ollama pull llama3.1:8b # 品質首選,需要 8-12GB VRAM
ollama pull qwen3:8b    # 平衡選擇

關鍵設定:Ollama 一定要監聽 0.0.0.0 而非 localhost,否則其他機器連不上。另外 system prompt 要叫模型回答簡短——一個會自言自語兩百字的語音助理只會讓人覺得它壞掉了。

如果你是 Apple Silicon 用戶,Ollama 0.31(2026 年 6 月釋出)加入了 MLX 多 token 預測,推論速度提升高達 90%,讓 M 系列 Mac 成為跑這整套的最佳單機方案。

步驟三:加入 Piper 文字轉語音

Piper 是一個基於 VITS 架構的輕量神經 TTS 引擎,連 Raspberry Pi 都能即時合成語音。它的原作者 Michael Hansen 在 2025 年 10 月把 GitHub repo 封存了,但 Open Home Foundation 接了維護棒,社群 fork(OHF-Voice/piper1-gpl)仍在更新。

對於多數人來說,最簡單的方式是透過 Home Assistant 的 Piper 附加元件來跑。如果你想自己架:

# Docker 方案
docker run -d --name wyoming-piper \
  -p 10300:10300 \
  rhasspy/wyoming-piper \
  --voice en_US-lessac-medium

英文和主要歐洲語言的現有語音模型已經夠好用了。但如果你需要語音複製或新語言支援,可以考慮替代品:Kokoro TTS(只有 82M 參數的小型開源模型)或 Coqui XTTS 的社群分支。

步驟四:串起來——讓整條管線動起來

把三層串起來的關鍵是「串流」。如果你傻傻等 Whisper 完全轉錄完 → 等 Ollama 生出完整回覆 → 再叫 Piper 唸出來,延遲會疊加到你不想用的程度。

真正該做的是讓每個階段重疊執行:

  1. 語音活動偵測(VAD):一偵測到你講完話就立刻開始轉錄,不用等整段錄完
  2. LLM 串流輸出:Ollama 設 stream: true,token 一個一個往外送
  3. 逐句合成語音:LLM 每吐出一個完整句子(碰到句號),立刻送 Piper 合成並播放,同時 LLM 繼續生下一句

這個「碰到句號就講」的策略是整個系統的關鍵。它讓你感受到的延遲從「等完整答案」變成「等第一句話」,在同樣的硬體上,體驗差距是 1-2 秒和 6-8 秒的差別。

import ollama, re

buffer = ""
for chunk in ollama.chat(
    model="qwen3:4b",
    messages=[{"role": "user", "content": transcript}],
    stream=True,
):
    buffer += chunk["message"]["content"]
    # 碰到句號就立刻送 Piper 唸出來
    while (m := re.search(r"[.!?]\s", buffer)):
        sentence, buffer = buffer[:m.end()], buffer[m.end():]
        speak_with_piper(sentence)

if buffer.strip():
    speak_with_piper(buffer)

硬體需求:你到底需要什麼機器?

不要被那些不寫硬體需求的教學騙了。實話是:

硬體Whisper 延遲Ollama (3B)全套能跑嗎?大約價格
Pi 4 (4GB)~8 秒跑不動只能 STT/TTS,LLM 要外掛$55
Pi 5 (8GB)~3-4 秒勉強勉強,建議用 Speech-to-Phrase$80
Intel NUC (16GB)<1 秒~2-3 秒可以$300-500
Mac Mini M2 (16GB)<1 秒<1.5 秒很好$500-600
Mac Mini M4 (24GB)<0.5 秒<1 秒最佳性價比$700
RTX 4060+ PC<0.5 秒<1 秒GPU 加速,飛快$800+

最低門檻:16GB RAM,近五年內的 x86 或 ARM64 處理器。

Apple Silicon 有個隱藏優勢:統一記憶體架構。傳統 PC 上 VRAM 是獨立池,模型塞不進顯卡就降速;Mac 上 CPU 和 GPU 共享同一塊記憶體,大模型照樣能跑,瓶頸只在吞吐量。再加上無風扇設計——一個放在客廳不會嗡嗡叫的語音助理伺服器,用起來就是不一樣。

隱私到底差在哪裡?

這不只是「比較有隱私」的模糊宣稱。以下是實際的資料流向對比:

資料類型Alexa/Google本地架構
語音錄音存在廠商伺服器不出你家區域網路
轉錄文字雲端處理並儲存本機處理後丟棄
指令歷史廠商完整保留只在你自己的 HA 實例裡
第三方分享與 skills/actions 提供者分享完全沒有
網路需求每個指令都要完全不需要

這就是重點:下載完模型之後,你拔掉網路線,語音助理照樣工作。地球上沒有任何商業語音助理能做到這件事。

這跟 Home Assistant Assist、Moshi 有什麼不同?

這套 Whisper + Ollama + Piper 管線不是唯一選擇,但它有自己的定位:

如果你要的是最純粹的低延遲對話體驗,Kyutai 的 Moshi 大概是 200ms 回應、全雙工(可以插話打斷它),但它的模型是固定的,你不能換大腦。

如果你要的是智慧家庭控制,Home Assistant 的 Assist 其實就是這套管線的官方包裝版——內建 Whisper + Piper,透過 Wyoming 協定串接,幾乎不用寫程式碼。

如果你想自己掌控一切——換模型、加工具呼叫、做檢索增強——那自己從頭組裝 Whisper + Ollama + Piper 是最靈活的選擇。對開發者來說這種自由度無可取代。

一句話總結

2026 年了,一個不會偷聽你、不用月費、拔掉網路還能用的 AI 語音助理,已經不是科幻小說。它需要的只是三個開源工具、一台還算現代的電腦,和一個下午的時間。商業語音助理的訂閱潮只會越來越兇——現在架你自己的,正是時候。

分享文章

留言評論

0 則評論

暫無評論,搶先發表你的看法吧!

相關文章