為什麼要給 Hermes 一個聲音
Hermes Agent 可以在終端機、通訊應用程式和手機上運行。預設情況下它沒有聲音。這份指南教你如何加上一個:用 ElevenLabs 文字轉語音回覆你的訊息,用語音轉文字轉錄你說的話。兩者都是在 Hermes 中做供應商設定 —— 不需要自訂腳本。
最終效果:你說話,Hermes 用 Scribe 聽見你、思考,然後用你選擇的 ElevenLabs 聲音回覆。
設定
從 ElevenLabs 控制面板取得 API 金鑰,然後加到 ~/.hermes/.env:
ELEVENLABS_API_KEY=your_key_here
如果 ElevenLabs 依賴套件缺失,將 premium TTS 額外套件安裝到 Hermes 環境中:
pip install "hermes-agent[tts-premium]"
簡易設定(讓 Hermes 自己來)
Hermes 的設計就是使用你的機器。要啟用 ElevenLabs 文字轉語音和語音轉文字,你只需請 Hermes 為你設定。Hermes 有內建技能處理這個,而且相當可靠:
Set ElevenLabs as the voice mode for both TTS and STT. I have already added the API Key into .hermes/.env.
下方的手動步驟做的是同一件事 —— 值得閱讀因為它們展示了 Hermes 底層的設定運作方式。
文字轉語音(手動)
執行設定精靈,在聲音步驟選擇 ElevenLabs:
hermes setup
或直接編輯 ~/.hermes/config.yaml:
tts:
provider: "elevenlabs"
elevenlabs:
voice_id: "pNInz6obpgDQGcFmaJgB" # any voice from your library
model_id: "eleven_flash_v2_5" # ~75ms, built for real-time
voice_id 是聲音 —— 從聲音庫中選擇或使用克隆。model_id 定義使用哪個模型:eleven_flash_v2_5 適合即時對話(約 75ms),而 eleven_multilingual_v2 是一個很好的泛用預設。Hermes 會根據輸出路徑選擇音訊格式。
修改設定後重新啟動 Hermes。在閘道(gateway)中使用:
/restart
在 CLI 中,退出並重新啟動 Hermes。然後用以下指令啟用聲音輸出:
/voice on
/voice tts
語音轉文字(手動)
ElevenLabs Scribe 是 Hermes 內建的語音轉文字供應商。你不需要建立自訂轉錄腳本或註冊指令供應商。
在 ~/.hermes/config.yaml 中加入:
stt:
enabled: true
provider: elevenlabs
elevenlabs:
model_id: scribe_v2
language_code: "" # optional; leave blank for auto-detect
tag_audio_events: false
diarize: false
這樣就夠了。Hermes 將收到的音訊寫入暫存檔案,傳送到 ElevenLabs /speech-to-text API,然後使用回傳的轉錄結果。閘道重啟後,Telegram、Discord、WhatsApp、Slack 和 Signal 上的語音訊息都會使用 Scribe。
要強制指定語言,設定 language_code,例如:
stt:
enabled: true
provider: elevenlabs
elevenlabs:
model_id: scribe_v2
language_code: eng
對於 Scribe 常常聽錯的名稱、產品術語和函式庫,請參閱 ElevenLabs 語音轉文字文件以取得 API 支援的最新提示和模型選項。
完成
說話,Hermes 用 Scribe 聽見你、思考,然後用你的 ElevenLabs 聲音回覆。隨時可以透過選擇新的 voice_id 來更換聲音。