r/LocalLLaMA · · 1 min read

Self-hosted voice for any agent/harness of your choice (open-source)

Mirrored from r/LocalLLaMA for archival readability. Support the source by reading on the original site.

For a while now I've been maintaining tts-bench (https://github.com/5uck1ess/tts-bench) and a blind voting arena (https://5uck1ess-tts-arena.hf.space) where people A/B test open text-to-speech (TTS) models without knowing which is which.

One problem I've always wanted to solve: having the agent talk to me (or actually call me) after a task is done. /voice (claude code feature) or any dictation (wispr flow or etc) is one-directional. So this project is a bi-directional conversation: https://github.com/5uck1ess/cicero

Works really well with Hermes Agent https://github.com/nousresearch/hermes-agent with multiple profiles (each profile can have its tts voice and personality)

Works with Claude Code, Codex, Gemini CLI, anything that speaks ACP (Agent Client Protocol), or any OpenAI-compatible endpoint. If you run speech-to-text (STT) and TTS locally, your audio never leaves your machine. It can send a Telegram bot message or call you over Telegram. You can also interact locally or through a browser (remote server).

Probably still has some bugs, so feel free to submit pull requests (PRs) or issues.

A few things that surprised me building it:

  • the ~1s response time came from streaming the reply sentence by sentence, not from picking a faster TTS
  • voice clones sound bad because of the reference clip, not the model. trimming a second of silence off the front fixed more than switching models ever did
  • barge-in (cutting the agent off mid-sentence) with an energy VAD (voice activity detection that just watches for loudness) is useless, typing sets it off. needed a small speech model in front so it only triggers on actual speech
submitted by /u/UkieTechie
[link] [comments]

Discussion (0)

Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.

Sign in →

No comments yet. Sign in and be the first to say something.

More from r/LocalLLaMA