让 Hermes 开口说话:Buzz 接入实战
Hermes 消息平台接入第15篇:Buzz。语音聊天应用接入。
讓 Hermes 開口說話:Buzz 接入實戰
嘿,朋友們!今天咱們來聊聊怎麼讓 Hermes 從「打字聊天」進化成「語音對話」。沒錯,就是那種你對著電腦說話,它回你人聲的科幻場景——現在用 Buzz 接入就能輕鬆搞定。
語音模式到底能幹啥?
先別急著裝,看看這仨場景哪個戳中你:
- 命令列語音迴圈:寫程式碼、查資料時雙手不離開鍵盤,直接說話互動
- 聊天軟體語音回覆:Telegram 或 Discord 裡,Hermes 用語音回你訊息
- Discord 語音頻道機器人:直接進語音頻道,即時對話,跟打電話似的
新手建議按這個順序來:先搞定文字對話 → 再開語音回覆 → 最後玩 Discord 語音頻道。
第一步:確認文字模式正常
老規矩,先跑起來:
hermes
然後隨便問一句:
你有哪些工具可以用?
如果這都卡殼,先別折騰語音,把基礎修好再說。
第二步:安裝語音元件
根據你的需求選裝:
# 命令列麥克風+播放
cd ~/.hermes/hermes-agent && uv pip install -e ".[voice]"
# 聊天平台支援(Telegram/Discord)
cd ~/.hermes/hermes-agent && uv pip install -e ".[messaging]"
# 進階 ElevenLabs 語音(可選)
cd ~/.hermes/hermes-agent && uv pip install -e ".[tts-premium]"
# 本地 NeuTTS(可選)
python -m pip install -U neutts[all]
# 全都要
cd ~/.hermes/hermes-agent && uv pip install -e ".[all]"
第三步:裝系統依賴
macOS:
brew install portaudio ffmpeg opus
brew install espeak-ng
Ubuntu / Debian:
sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng
這幾個傢伙各有分工:portaudio 管麥克風,ffmpeg 管音訊轉換,opus 是 Discord 語音的編解碼器,espeak-ng 給本地語音合成用的。
第四步:選語音引擎
最省心的組合:本地語音辨識 + 免費 Edge 語音合成。在 ~/.hermes/.env 裡加:
# 雲語音辨識(本地不需要 key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***
# 進階語音合成(可選)
ELEVENLABS_API_KEY=***
語音辨識推薦:
local:本地處理,隱私好還免費groq:雲轉錄,速度飛快openai:付費備選
語音合成推薦:
edge:免費夠用,大多數人的首選neutts:本地執行,不花錢elevenlabs:音質天花板openai:中規中矩mistral:多語言支援好
第五步:推薦設定
voice:
record_key: "ctrl+b"
submit_mode: "direct" # TUI: direct | draft
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3.0
stt:
provider: "local"
local:
model: "base"
tts:
provider: "edge"
edge:
voice: "en-US-AriaNeural"
這裡有個小技巧:submit_mode 設成 draft 的話,語音轉文字後會先放到輸入框裡,你可以改改再送出,適合不想說錯話直接發出去的場合。
實戰:命令列語音模式
啟動 Hermes 後輸入:
/voice on
然後按 Ctrl+B 開始說話,說完停一下,它會自動偵測靜音並停止錄音。接著 Hermes 轉文字、給回覆,如果開了 TTS 還會直接唸出來。
實用命令:
/voice # 查看狀態
/voice on # 開啟
/voice off # 關閉
/voice tts # 切換語音回覆
/voice status # 查看詳情
好玩的用法:比如你遇到 Docker 權限報錯,直接說「我老遇到 docker 權限錯誤,幫我除錯下」,然後繼續追問「再讀一遍報錯」「用大白話解釋原因」「給我具體修復方案」——全程不用打字,爽不爽?
調優小貼士
如果覺得語音辨識太靈敏或太遲鈍,調這兩個參數:
voice:
silence_threshold: 200 # 靜音判定閾值,越大越不敏感
silence_duration: 3.0 # 靜音多久算說完,單位秒
好了,現在就去讓 Hermes 開口說話吧!有問題隨時在社群裡喊我。🎤
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › guides/use-voice-mode-with-hermes