Select Page
Hugging Face speech-to-speech:本地即時語音 Agent 怎麼跑?

Hugging Face speech-to-speech:本地即時語音 Agent 怎麼跑?

Hugging Face 的 speech-to-speech 真正有趣的地方,不只是「本地 AI 語音聊天」這句話,而是它把即時語音 Agent 拆成一條清楚的工程管線:VAD 偵測你什麼時候開始和結束說話,STT 把語音轉成文字,LLM 產生回應,TTS 再把文字變回聲音。

這條路線的價值很直覺:如果你不想把麥克風聲音、私人對話、公司資料一路送到雲端,那就把語音 Agent 搬回自己的機器。代價也很明顯:你要處理 Python、FFmpeg、CUDA、模型下載、本地 LLM server、TTS 後端、瀏覽器端 WebSocket。這不是「安裝一個 App 就結束」的工具。

如果你之前看過 VoxelCPM 本地 TTS,這篇可以當成下一步:TTS 只是讓 AI 開口,speech-to-speech 則是把「聽、想、說」接成一個即時循環。

先講結論:它不是語音模型,而是一條可替換的語音 Agent 管線

huggingface/speech-to-speech 的 README 把架構講得很清楚:這是一條低延遲、模組化的 voice-agent pipeline,順序是 VAD → STT → LLM → TTS,並且透過 OpenAI Realtime-compatible WebSocket API 對外提供服務。

也就是說,你可以把支援 OpenAI Realtime 協議的 client 指到本機 server。

這個設計比單純做一個 demo 更有意思,因為每一段都能換。

STT 可以用 Parakeet、Whisper、Faster Whisper、MLX Whisper 或 Paraformer;LLM 可以接 OpenAI-compatible provider,也可以接 vLLM、llama.cpp、llama-server;TTS 可以用 Qwen3-TTS、Kokoro、Pocket TTS、ChatTTS 或 MMS TTS。

換句話說,它的重點不是某個模型最強,而是把語音 Agent 做成可插拔架構。

這和 OpenWork / OpenCode 工作台的方向有點像:真正可長期使用的 AI 工具,不應該只綁死在單一供應商或單一模型。

Speech-to-speech 和傳統語音翻譯有什麼差別?

Hugging Face Audio Course 裡對 speech-to-speech translation 的說明很適合拿來釐清概念。

傳統機器翻譯是文字到文字,speech-to-speech 則是語音到語音。最常見的做法是串接:先把語音轉成文字,再做翻譯或生成,最後合成語音。

它也提醒一個很重要的問題:管線越長,錯誤越會累積,延遲也越高。

ASR 認錯一個字,後面的 LLM 可能照著錯字理解;LLM 回答太長,TTS 就要等更久;TTS 聲音不自然,最後體驗還是會掉下來。

所以本地即時語音 Agent 的關鍵不是只看「能不能講話」,而是看四件事:

  • 語音辨識是不是準,尤其是中文、口音、背景噪音。
  • LLM 回應是不是夠快,不要讓人等到出戲。
  • TTS 聲音是不是自然,長時間聽會不會疲勞。
  • 整條管線的延遲是不是穩定,而不是偶爾順、偶爾卡。

官方預設路線:先跑起 realtime server

官方 quickstart 很短:

pip install speech-to-speech
export OPENAI_API_KEY=...
speech-to-speech


跑起來之後,server 會在本機開一個 OpenAI Realtime 相容端點,常見位置是:
ws://localhost:8765/v1/realtime

預設路線會用本地 STT、本地 TTS,再把 LLM 接到 OpenAI-compatible API。你如果想讓 LLM 也留在本機,可以用 llama.cpp 啟動本地模型 server,再把 `responses_api_base_url` 指到本機。

speech-to-speech \
  --model_name "ggml-org/gemma-4-E4B-it-GGUF" \
  --responses_api_base_url "http://127.0.0.1:8080/v1" \
  --responses_api_api_key ""


這裡的重點是 OpenAI-compatible。只要你的本地 LLM server 能提供類似 OpenAI API 的介面,它就有機會接進來。這也是為什麼 Ollama 遠端連線和本地 OpenAI-compatible server 的設定很重要:語音只是入口,真正回答問題的是後面的 LLM。

Windows 實作路線:不是難,是零件很多

核心流程可以簡化成這樣:

  1. 裝 Python 3.11、Git、FFmpeg。
  2. 建立 `C:\s2s` 之類的資料夾,開 venv。
  3. 安裝 `speech-to-speech`。
  4. 用 llama.cpp 跑本地 Qwen 模型,開在 `http://127.0.0.1:8080/v1`。
  5. 啟動 speech-to-speech,把 STT 指到 Whisper、LLM 指到本地 server、TTS 指到 Qwen3-TTS。
  6. 開網頁 client,WebSocket 指到 `localhost:8765`。

這裡最容易踩坑的是 FFmpeg 和 winget。留言裡有人遇到 `winget` 找不到,這通常代表 Windows App Installer / winget 沒裝好,或 PowerShell 環境找不到它。這時候不要卡在同一條命令,可以改成手動下載 FFmpeg,或先修好 winget,再重新開 PowerShell。

架構表:每一段都可以替換,但每一段也都會出事

階段作用常見選擇容易卡住的地方
VAD判斷使用者何時開始/停止說話Silero VAD背景噪音、切句太早或太晚
STT語音轉文字Parakeet、Whisper、Faster Whisper中文辨識、口音、GPU/CPU 速度
LLM理解問題並產生回應OpenAI-compatible API、llama.cpp、vLLM、Ollama 類服務延遲、上下文長度、模型能力
TTS文字轉語音Qwen3-TTS、Kokoro、Pocket TTS、ChatTTS聲音自然度、CUDA wheel、中文品質
Client麥克風輸入與播放Realtime WebSocket client、網頁呼吸球介面瀏覽器權限、WebSocket 位置、服務啟動順序

這張表就是我對本地語音 Agent 的看法:模組化很香,但你不能只看成功 demo 任一段延遲太高、模型太大、依賴裝錯、WebSocket 指錯,都會讓整體體驗掉下來。

4GB 顯存、4090、CPU:期待值要分開看

如果你只是想體驗,本地小模型加 CPU/GPU 混跑可以試;如果你想每天使用,就要認真看顯卡、VRAM、記憶體、模型大小與量化格式。這部分可以搭配 AI 工作站顯卡選購那篇看,因為語音 Agent 不是只吃一個模型,而是一整條 pipeline。

本地部署值不值得?

安裝太複雜、Python 依賴一直重裝、免費雲端語音也能用、中文場景不一定比微信等現成工具舒服。

我會這樣判斷:

  • 如果你只想偶爾語音聊天,雲端 App 更省事。
  • 如果你在意隱私、離線、可控模型,本地 speech-to-speech 才有意義。
  • 如果你要接自己的 Agent 或自動化流程,OpenAI Realtime 相容 API 很有價值。
  • 如果你不想處理依賴,等整合包或 Docker / 一鍵腳本會比較舒服。

有留言建議做整合包,把 Python、虛擬環境、依賴、模型檔都打包好。這個方向很務實。語音 Agent 要走向一般使用者,最重要的可能不是模型再強一點,而是安裝流程少掉一半。

接進 Hermes、OpenWork 或自己的 Agent:語音只是入口

有人問如果部署在 Hermes 裡,是不是就不用打字了。方向是對的,但要分清楚:speech-to-speech 解決的是語音輸入與語音輸出,Agent 真正能不能工作,還要看後面的工具調用、上下文、記憶、權限與任務執行。

也就是說,語音不是 Agent 的全部,只是更自然的控制入口。你可以想像之後用語音叫本地 Agent 幫你查資料、改檔案、跑腳本、操作工作流,但這需要像 OpenWorkHermes Agent 這類工作台或 runtime 來承接任務。

真正有用的組合會是:speech-to-speech 負責「聽和說」,Agent runtime 負責「做事」,本地 LLM / 工具 / MCP 負責「連到你的資料和系統」。語音只是讓人更容易下指令,不能替代完整的任務架構。

資源整理

本地即時語音 Agent 很香,但現在還偏工程師玩具

speech-to-speech 讓本地語音 Agent 的架構變得很清楚:你可以把 VAD、STT、LLM、TTS 串起來,對外提供 OpenAI Realtime 相容 API,再用網頁或其他 client 連進來。這條路很有想像空間,尤其適合隱私敏感、離線使用、機器人、客服、語言練習、自建 AI 助手。

但我不會把它包裝成人人都該裝。現階段它還需要處理太多環境問題,Windows 下尤其明顯。真正適合的人,是願意花時間把本地模型、音訊依賴、GPU、WebSocket 和 Agent runtime 串起來的人。

一句話總結:本地即時語音不是為了取代手機上的語音助手,而是為了把「能聽、能想、能說」這個入口,接到你自己的模型、資料和工作流上。這件事如果跑順,會比單純聊天更有價值。

FAQ

speech-to-speech 是什麼?

speech-to-speech 是 Hugging Face 的開源語音 Agent 管線,透過 VAD、STT、LLM、TTS 四個階段,把使用者語音轉成模型回應,再合成語音輸出。

它可以完全本地運行嗎?

可以,但需要把 STT、LLM、TTS 都換成本地後端,例如 Whisper、llama.cpp 或其他 OpenAI-compatible 本地 LLM server,以及 Qwen3-TTS 等本地語音合成模型。

為什麼不用雲端語音助手就好?

如果只是日常聊天,雲端語音助手更省事。本地方案的價值在於隱私、離線、可控模型、可接自有資料與 Agent 工作流。

Open Notebook 是什麼?自架版 NotebookLM 工具解析

Open Notebook 是什麼?自架版 NotebookLM 工具解析

如果你常把 PDF、論文、產業報告或內部文件丟進 AI 工具整理,Google NotebookLM 確實很方便;但只要資料牽涉商業機密、未公開研究、客戶內容或公司內部知識庫,雲端上傳與模型選擇限制就會變成真正的門檻,Open Notebook 的定位,正是把 NotebookLM 類型的文件理解、問答、摘要與 Podcast 生成,搬到更可控、更可自訂的開源工作流裡。

Open Notebook 私有 AI 研究工作流示意封面圖
圖:Open Notebook 私有 AI 研究工作流示意

Open Notebook 解決的是什麼問題?

傳統文件型 AI 助手最容易卡在兩件事:資料放在哪裡,以及模型能不能換。對個人研究來說,把公開文章交給雲端 AI 問答通常沒什麼壓力;但對企業團隊、顧問、研究員或寫作者來說,資料可能包含未公開策略、訪談紀錄、合約、財務數據或客戶文件。這時候,能否自架、能否控制資料歸屬、能否選用自己的模型,就不只是偏好,而是能不能導入的前提。

Open Notebook 的優勢在於,它不是只做一個聊天視窗,而是把「文件匯入、知識庫整理、跨文件問答、來源引用、Podcast 生成、模型配置」串成一套私有 AI 研究工作流。官方 GitHub 專案 lfnovo/open-notebook 目前採 MIT 授權,官方說明也把它定位為一個 privacy-focused alternative to Google NotebookLM,截至 2026-07-07,GitHub API 顯示約 35K stars,最新 release 為 v1.10.0。

核心亮點一:資料主權回到自己手上

Open Notebook 最吸引人的地方,是它把資料控制權從平台端拉回使用者端。你可以把文件、音訊、多媒體檔案、網頁等素材放進自己掌控的環境,再用 AI 做摘要、檢索與問答。對需要處理敏感研究、公司內部文件或客戶資料的人來說,這比「功能多一點」更重要。

這也讓 Open Notebook 很適合搭配文件前處理工具。例如需要先把 PDF、Word、PPT 轉成 AI 更容易讀的文字格式時,可以參考我之前寫過的 MarkItDown 教學,先把原始文件整理成更乾淨的資料,再交給知識庫系統分析。

核心亮點二:模型不再被單一供應商綁住

NotebookLM 的好處是省事,但限制也很明顯:使用者基本上跟著 Google 的模型與產品設計走。Open Notebook 則主打 18+ AI provider,官方 README 提到支援 OpenAI、Anthropic、Ollama、LM Studio 等供應商。這代表同一套知識庫可以依任務切換模型:便宜模型做初步整理,強模型做深入推理,本地模型處理敏感資料。

如果你的工作流已經開始用 Ollama 或本地模型,Open Notebook 的價值會更明顯。它可以成為文件層的操作介面,而模型層則交給你自己的 AI server,想走本地端路線的人,也可以延伸看 GraphRAG 使用本地端的 OllamaOllama 遠端連線教學,把模型部署與文件分析分開思考。

核心亮點三:Podcast 生成更像內容製作工具

Podcast 生成是 NotebookLM 很受歡迎的功能,但固定雙人對談也限制了內容形式。Open Notebook 的方向更偏向內容製作工具:可以做 1 到 4 位 speaker,並調整角色設定與對話形式。這讓它不只適合做「兩人解說」,也能做單人旁白、三人圓桌、多人辯論或不同角色的知識導覽。

對自媒體、研究型內容創作者或企業內訓來說,這點很實用。你可以先把一批文件整理成知識庫,再把其中的核心結論轉成 Podcast 腳本,甚至為不同聽眾設計不同敘事角色。它不是單純把文字念出來,而是把文件理解、腳本結構與音訊內容生產接在一起。

核心亮點四:Ask 模式更適合跨文件研究

Open Notebook 的 Ask 模式適合處理「不是問單一文件,而是要整合一批資料」的任務。例如你有 20 份產業報告,真正想問的不是某一頁寫了什麼,而是不同報告之間是否有共同趨勢、矛盾、缺口與可引用依據。這時候,單純的檢索式問答會不夠,需要能跨文件整理、比對與引用來源的研究流程。

這也是 RAG 類工具接下來會越來越重要的原因:文件不是只被「搜尋」,而是要被組織成可以反覆推理的知識庫。Open Notebook 提供的是比較完整的操作層;而像 GraphRAG、向量資料庫、本地模型與文件轉換工具,則是可以接在底下的技術層。把這些組起來,才會形成真正可重複的 AI 工作流

Open Notebook 和 NotebookLM 怎麼選?

比較面向Open NotebookNotebookLM
資料控制可自架,資料在自己掌控的環境以 Google 雲端服務為主
模型選擇可接多家 provider,也可接 Ollama / LM Studio主要使用 Google 模型
Podcast 形式可做 1-4 位 speaker 與自訂角色以固定形式為主
部署方式Docker、雲端或本地部署直接使用雲端產品
適合對象重視隱私、模型自由、工作流整合的人重視上手速度、不想部署的人

簡單說,如果你要的是「馬上可以用」,NotebookLM 仍然很省事;如果你要的是「資料可控、模型可換、流程可自訂」,Open Notebook 會更有想像空間。它不是每個人都需要的工具,但對研究、顧問、內容團隊與企業知識庫來說,很值得放進評估清單。

導入前要先確認的限制

Open Notebook 的自由度比較高,但也代表它不是完全零門檻。最基本的前提是你要能接受 Docker 或自架環境;如果公司電腦不能裝 Docker,或 IT 政策不允許本機服務,導入就會比較麻煩

Docker 新手可以先看 如何使用 Docker 跟用 command line 一樣,先把容器概念補起來。

算力也要看你的模型選擇。如果只是用雲端 provider,主要成本會落在 API;如果想完全本地跑模型,就要準備足夠的 GPU、記憶體與模型部署能力。換句話說,Open Notebook 降低的是資料與模型綁定,不是把所有基礎設施成本變成零。

誰最適合用 Open Notebook?

  • 研究員:需要整理大量論文、報告、訪談與來源引用。
  • 內容創作者:需要把資料轉成腳本、長文、Podcast 或系列內容。
  • 學生與知識工作者:需要把課堂筆記、PDF、網頁資料統一管理。
  • 企業團隊:需要建立內部知識庫,又不希望敏感文件全部交給外部雲端。

Open Notebook 適合把 AI 研究流程變成私有工作台

Open Notebook 的價值,不只是「開源版 NotebookLM」這麼簡單。它真正有意思的地方,是把資料主權、模型自由、Podcast 生成、跨文件研究與自架部署放在同一個工作台裡。對只想偶爾整理公開資料的人來說,它可能稍微重了一點;但對需要長期累積知識庫、處理敏感文件、或把 AI 研究流程變成團隊基礎設施的人來說,它是一個值得測試的選項。

Open Notebook Github

FAQ

Open Notebook 是 NotebookLM 的替代品嗎?

它可以被視為 NotebookLM 的開源替代方案,但重點不只是功能相似,而是提供自架、模型選擇、資料控制與更多自訂能力。

Open Notebook 一定要很強的電腦才能用嗎?

不一定。如果使用雲端模型,主要需要 Docker 與 API 設定;如果要完全本地跑大型模型,才需要更強的 GPU、記憶體與部署能力。

Open Notebook 適合企業內部知識庫嗎?

適合放進評估清單,尤其是重視資料控制、模型彈性與自架部署的團隊。不過正式導入前,仍要評估權限管理、備份、資安政策與維運成本。

不用雲端!免費語音克隆神器 VoxCPM|30種語言+方言,離線生成專業播音聲音

不用雲端!免費語音克隆神器 VoxCPM|30種語言+方言,離線生成專業播音聲音

🧠 什麼是 VoxCPM?

VoxCPM 是由 OpenBMB 推出的新一代語音生成模型,主打:

👉 超低樣本聲音克隆(只需5秒)
👉 完全本地運行(無需雲端)
👉 多語言+多方言支持(30+)

簡單講一句話:

👉 它就是「語音界的 Stable Diffusion」


🚀 核心特色

🎙️ 1️⃣ 極致聲音複製(5秒搞定)

只需要一段短短語音(約5秒):

  • 可複製音色
  • 模擬說話風格
  • 保留情緒與語氣

👉 幾乎達到「真人等級」


🎚️ 2️⃣ 專業播音員等級輸出

生成語音具備:

  • 清晰度高(接近錄音室品質)
  • 節奏自然
  • 可長文本生成(Podcast / 有聲書)

👉 可直接商用(需注意授權)


🌏 3️⃣ 多語言+方言(重點)

支援:

  • 中文(普通話)
  • 台語(閩南語)
  • 廣東話
  • 四川話
  • 英文 / 日文 / 韓文 等

👉 這點直接屌打很多 TTS 工具


🔒 4️⃣ 完全本地運行

不像:

  • ElevenLabs(雲端)
  • PlayHT(雲端)

VoxCPM:

✅ 無需上傳聲音
✅ 不怕資料外洩
✅ 無 API 費用

⚙️ 安裝教學(本地部署)

📦 硬體需求(建議)

  • GPU:RTX 3060 以上(最佳)
  • RAM:16GB+
  • OS:Ubuntu / Windows(WSL)

🧩 Step 1:下載專案

官方 Repo👇
👉 VoxCPM GitHub repository


🧩 Step 2:安裝環境


🧩 Step 3:下載模型

依照 repo 指示下載:

  • 主模型(Urv5)
  • 聲音模型

🧩 Step 4:執行推理


🧩 Step 5:使用WEBUI

# WebUI 
python lora_ft_webui.py   # http://localhost:7860

🧠 進階玩法(你可以做什麼)

💰 商業應用

  • AI 配音 SaaS
  • 有聲書生成平台
  • YouTube 自動旁白

🧪 高階玩法

  • 聲音角色庫(多人 voice profile)
  • Telegram 語音 Bot
  • 客製客服語音

⚠️ 注意事項(很重要)

⚙️ 技術限制

  • 中文效果最佳
  • 部分方言仍在優化
  • GPU 需求較高

🆚 VoxCPM vs 其他 TTS

工具本地聲音克隆方言成本
VoxCPM免費
ElevenLabs普通$$$
PlayHT普通$$$

👉 結論:
本地部署 = VoxCPM 完勝

參考資料

官方網站

移除背景聲音工具(UVR5)

免費文字轉語音工具推薦:Speech Synthesis 支援 40 種語言與多樣語音選擇

免費文字轉語音工具推薦:Speech Synthesis 支援 40 種語言與多樣語音選擇

Speech Synthesis 是一款免費的線上文字轉語音工具,支援超過 40 種語言和數百種語音選擇,並可自訂語調(SSML)、節奏與語氣,讓語音更貼近您的需求。

🔑 主要特色

  • 多語言支援:涵蓋繁體中文、粵語、英語、日語等多種語言,滿足全球用戶的需求。
  • 多樣化語音選擇:提供數百種語音,包括不同性別、年齡和口音的選項。
  • 自訂語音參數:可調整語速(如 x-slow、slow、medium、fast、x-fast)、語調和音量,打造個性化的語音輸出。
  • 支援 SSML:支援語音合成標記語言(SSML),讓進階用戶能夠更精細地控制語音輸出。
  • 多種音訊格式:可選擇 MP3、WAV 等格式,並提供不同的音質設定,如 16kHz-128k、24kHz-160k、48kHz-192k。

🧪 使用方式

  1. 前往 Speech Synthesis 官方網站
  2. 在「TEXT」欄位輸入您要轉換的文字,或上傳文件。
  3. 選擇語言和語音,並調整語速、語調和音量等參數。
  4. 點擊「合成語音」按鈕,系統將生成語音檔案。
  5. 試聽並下載生成的語音檔案。

🔍 與其他熱門 TTS 工具的比較

工具名稱語言支援數語音選擇數自訂參數支援 SSML價格
Speech Synthesis40+數百種免費
TTSMaker100+600+免費
Google Text-to-Speech30+220+免費(有使用限制)
MyEdit26+多種免費

參考資料

MMAudio:自動為影片生成同步音訊的開源解決方案

MMAudio:自動為影片生成同步音訊的開源解決方案

MMAudio 是一款開源的多模態影片轉音訊工具,透過多模態聯合訓練技術,可以將高品質的影片與音訊合成。該專案由伊利諾大學厄巴納-香檳分校、Sony AI 及 Sony 集團公司合作開發,適用於影片配音、虛擬角色語音等多媒體創作場景。

主要特色:

  • 多模態聯合訓練: MMAudio 採用多模態聯合訓練方法,能夠同時處理影片和文字輸入,生成與內容同步的音訊。
  • 高品質音訊合成: 透過先進的模型架構,MMAudio 能夠生成高品質且自然的音訊,適用於各類應用場景。
  • 同步模組: MMAudio 的同步模組確保生成的音訊與影片畫面精確匹配,實現高度同步。

適用場景:

  • 影片配音: 自動為無聲影片生成對應的音訊,提升影片的可觀賞性。
  • 虛擬角色語音生成: 為虛擬角色生成符合其動作和表情的語音,增強互動性。
  • 多媒體內容創作: 協助創作者快速為視覺內容添加音訊,豐富作品表現力。

技術原理:

MMAudio 基於深度學習技術,特別是神經網路,理解和生成音訊資料。模型能夠處理影片和文字輸入,透過深度學習網路提取特徵,進行音訊合成。在訓練時,模型考慮音訊、影片和文字資料,使生成的音訊能夠與影片和文字內容相匹配。透過同步模組,確保音訊輸出與影片畫面或文字描述的時間軸完全對應,實現同步。

使用方法:

MMAudio 提供命令列介面和 Gradio 介面,使用者可以根據需求選擇使用。在命令列中,使用者可以透過指定影片路徑和文字提示,生成對應的音訊。Gradio 介面則提供了更友善的使用者介面,支援影片到音訊和文字到音訊的合成。

已知限制:

目前,MMAudio 存在以下限制:

  • 有時會生成不清晰的語音或背景音樂。
  • 對某些陌生概念的處理不夠理想。

相關資源:

增強式 ChatTTS 跟 Ollama 的整合

可以中英文混合,笑聲,停頓的好用的語音生成模型

直接使用 ChatTTS

ChatTTS online DEMO https://chattts.com/#Demo

增強後好看又好用的 ChatTTS 外框 ChatTTS-Forge https://huggingface.co/spaces/lenML/ChatTTS-Forge

自行開發程式的重要資源

ChatTTS 官方說明 https://github.com/2noise/ChatTTS/blob/main/docs/cn/README.md

整合各種超強的 ChatTTS應用 https://github.com/libukai/Awesome-ChatTTS

ChatTTS 跟 Ollama 的整合 Demo https://github.com/melodylife/ollama-chat

延伸閱讀