# speak-tts

A skill that gives your agent a voice: it reads text, articles and books aloud on your Mac, with no API keys and no cloud.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 735 installs · ★ 8
- Author: EmZod
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/EmZod/speak/tree/HEAD/SKILL.md
- Updated: 2026-01-28
- HTML: https://affpapa.org/en/nevibecode/skills/speak-tts

## What it does

speak-tts turns text into speech through MLX on Apple Silicon. Everything runs on-device, so there are no keys and no external service. The agent can take a file, a plain string, the clipboard or stdin.

Under the hood sits the `speak` utility with several modes: write a WAV for later, stream playback as it generates, play the finished file, or do both at once. Voice cloning works from a short recording, emotion tags like `[sigh]` and `[laugh]` produce real sounds, and batch mode handles whole chapter folders. Long inputs get auto-chunked and stitched back into one file per source.

Apple Silicon is a hard requirement here — Intel Macs are out. Install `sox` and `ffmpeg` first, plus `poppler` if you plan to feed it PDFs. A voice sample must be WAV, 24000 Hz, mono, between 10 and 30 seconds, and the path to it has to be absolute; a relative one fails.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add EmZod/speak --skill speak-tts -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/speak-tts/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/speak-tts/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add EmZod/speak --skill speak-tts -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/speak-tts/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add EmZod/speak --skill speak-tts -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/speak-tts/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install EmZod/speak speak-tts
```

2. **Manually: put the files in place**
- File: `.github/skills/speak-tts/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add EmZod/speak --skill speak-tts -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/EmZod/speak
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/speak-tts/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add EmZod/speak --skill speak-tts -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/EmZod/speak/tree/HEAD/SKILL.md

## When to use it
- read an article or document aloud without sending text to a cloud service
- turn a PDF or a folder of chapters into an audiobook
- get spoken replies from the agent in the terminal
- clone your own voice from a short recording
- join several WAV files into one track in the right order

## Example prompts
- read article.txt aloud and save it as a WAV
- narrate this text with speak-tts
- build an audiobook from chapters/*.txt with auto-chunking

## Similar
- [omnivoice-tts](https://affpapa.org/en/nevibecode/skills/omnivoice-tts.md) — skill · 680 installs
- [chat-with-anyone](https://affpapa.org/en/nevibecode/skills/chat-with-anyone.md) — skill · 2100 installs
- [speak-summary](https://affpapa.org/en/nevibecode/skills/speak-summary.md) — skill · 12 installs
- [qianwen-audio-tts](https://affpapa.org/en/nevibecode/skills/qianwen-audio-tts.md) — skill · 5600 installs
- [zai-tts](https://affpapa.org/en/nevibecode/skills/zai-tts.md) — skill · 2800 installs
- [qwencloud-audio-tts](https://affpapa.org/en/nevibecode/skills/qwencloud-audio-tts.md) — skill · 1600 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
