rodaddy

Agent Voice — AI skill for Claude Code

AI community

Give any LLM agent a cloned voice: its reply in, one spoken line out, via an OmniVoice TTS server.

How to install Agent Voice

This entry records only its repository, not the path inside it, so there is no exact command to give. Open rodaddy/agent-voice and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Agent Voice does

Give any LLM agent a cloned voice: its reply in, one spoken line out, via an OmniVoice TTS server.

Alternatives in AI

  • Octocode — Structural code intelligence for AI agents — semantic search, knowledge graphs, and a built-in MCP server in o 464 ★
  • Gh PR Review — GitHub CLI extension that adds full inline PR review comment support — view, navigate, reply to, and resolve r 174 ★
  • LumaBrowser — Local AI desktop app: a Chromium browser with a GPU-aware llama.cpp runtime, OpenAI-compatible API, AI chat an 125 ★

README

agent-voice

Give any LLM agent a cloned voice: the agent's reply goes in, and one short spoken line comes out of your speakers in a voice cloned from a 3 to 10 second clip.

[![CI](https://github.com/rodaddy/agent-voice/actions/workflows/ci.yml/badge.svg)](https://github.com/rodaddy/agent-voice/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-3776ab.svg)

![agent-voice: an agent's text reply becomes one spoken line in a cloned voice](docs/images/hero.jpg)

What it is

agent-voice is a small command-line tool, HTTP server and Python library that turns an agent's text reply into speech. The screen keeps the full technical answer. The speaker gets one or two sentences, in character, synthesized by an [OmniVoice](https://github.com/k2-fsa/OmniVoice) text-to-speech server from a short reference clip.

my-agent --reply | agent-voice pipe --voice ship-ai

Why it exists

A coding or operations agent that writes long replies is easy to miss when you are looking at another window. Reading the whole reply aloud is slow and unpleasant. agent-voice speaks one short line about the reply, so you hear that a build passed or a task needs you without switching windows, and the detail stays on screen. It started as a way to let a Claude Code session talk without a browser in the loop, and it works with any agent that can print to stdout or make an HTTP call.

How it works

![How agent-voice works](docs/images/how-it-works.jpg)

`pipe` and `POST /say` take a whole reply and choose the spoken line in a fixed order (`tags.py`, `writer.py`, `speaker.py`). If the agent wrote `One spoken line.`, exactly that is spoken; tags quoted inside code spans are ignored. Otherwise, if a writer model is configured, the reply and the voice's `persona.md` go to any OpenAI-compatible endpoint, which answers with one or two sentences capped at `AGENT_VOICE_MAX