Skip to content

Spadav/hermes-timbre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hermes-timbre

Hermes Agent plugin for Timbre, a local OpenAI-compatible voice gateway.

The plugin registers timbre as both a Hermes TTS provider and STT provider. It is only an HTTP client. It does not import Timbre, PocketTTS, Parakeet, ONNX, Torch, or any model runtime.

Timbre UI

Install

hermes plugins install Spadav/hermes-timbre
hermes plugins enable hermes-timbre

Or install with pip:

pip install hermes-timbre
hermes plugins enable hermes-timbre

Configure

Preferred terminal setup:

hermes timbre setup

The setup flow asks for the Timbre URL, TTS backend, STT backend, and voice. It discovers available Timbre backends and voices from the running Timbre API. Custom cloned voices can still be entered manually if they are not listed.

Non-interactive setup:

hermes timbre setup http://127.0.0.1:9000 --tts pocket --stt parakeet --voice alba

Tailscale or remote Timbre example:

hermes timbre setup http://<YOUR_TAILSCALE_IP>:9000 --tts pocket --stt parakeet --voice aria

Alias:

hermes hermes-timbre setup http://127.0.0.1:9000 --tts pocket --stt parakeet --voice alba

Status:

hermes timbre status
hermes timbre backends

The in-session commands are also registered when Hermes exposes plugin slash commands:

Inside Hermes:

/timbre http://127.0.0.1:9000
/timbre http://<YOUR_TAILSCALE_IP>:9000 --tts pocket --stt parakeet --voice alba
/hermes-timbre status

The command checks /health, discovers /v1/backends, saves the plugin config to ~/.hermes/hermes-timbre.json, and tries to set these Hermes config values:

tts:
  provider: timbre
stt:
  provider: timbre

Dashboard

When Hermes loads plugin dashboard assets, the plugin adds a Timbre panel to the Hermes web dashboard.

The panel can:

  • Show the configured Timbre URL, TTS backend, STT backend, and voice.
  • Check Timbre health.
  • List Timbre TTS/STT backends and voices.
  • Load, unload, enable, or disable Timbre backends.
  • Save Hermes-side Timbre defaults without rerunning CLI flags.

Hermes' built-in TTS provider dropdown can show plugin TTS providers. Some Hermes versions do not inject plugin STT providers into the dashboard STT dropdown, so stt.provider: timbre can work even if timbre is missing from that picker.

Environment Overrides

These override the saved config:

export TIMBRE_URL=http://127.0.0.1:9000
export TIMBRE_TTS_BACKEND=pocket
export TIMBRE_STT_BACKEND=parakeet
export TIMBRE_TTS_VOICE=alba

Behavior

TTS calls go to:

POST {TIMBRE_URL}/v1/audio/speech

STT calls go to:

POST {TIMBRE_URL}/v1/audio/transcriptions

The Hermes provider name is always timbre. The Timbre backend is selected by the plugin config:

  • TTS default backend: pocket
  • STT default backend: parakeet
  • TTS default voice: alba

Timbre handles model loading, voice aliases, cloned voices, audio conversion, and backend runtime state.

Timbre itself loads models lazily. Enabling the Hermes plugin does not import or load PocketTTS, Parakeet, Whisper, Supertonic, or Qwen inside Hermes.

About

Hermes Agent plugin for local Timbre native voice integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages