SpeakySpeak

Start some Claudes, walk away Hear replies as they arrive

3 ✳ everething queued

$ claude "refactor the search index"

34 tests, 6m 12s, done

everething
everething [Fable 5] effort:xhigh git:master
▶▶ auto mode on · ← for agents
1 ✳ events-site queued

$ claude "ship today's newsletter build"

deploy finished, 2m 48s

events-site
events-site [Fable 5] effort:xhigh git:master
▶▶ auto mode on · ← for agents
2 ✳ markemark queued

$ claude "find the leak in the preview pane"

one line changed, 11m 04s

markemark
markemark [Fable 5] effort:xhigh git:master
▶▶ auto mode on · ← for agents
speakyspeak
Install

Free (and fully local) for macOS

One voice at a time

Sessions queue instead of talking over each other.

AirPods stem controls

Click to pause, skip ahead, or step back.

It waits for you

Pause it, and new replies queue up quietly.

Just the remote

Drag it anywhere; the full queue lives in the menu bar.

A suggested way to work

Built for this setup. Runs entirely on your Mac — Kokoro voice via MLX, offline and free.

1

Color-coded tabs , one per project.

2

Start long runs, then walk away.

3

Replies announce themselves, one at a time, in order.

4

Multi-Mac: per-machine voices, no AirPods tug‑of‑war.

iTerm2 › Session › Edit Session › Tab Color

Full Feature List

The queue

  • One at a time — replies play serially, never over each other
  • Newest plays next — fresh replies jump ahead of stale backlog
  • Pause holds everything — new replies wait; a rainbow glow reminds you
  • Skip one reply — drop the track you don't want without stopping the pipeline
  • Survives restarts — the queue is restored on launch, silently
  • Clear played / clear all from the deck footer
  • Reorder the queue — play now, remove, move up or down per row

Playback

  • Speed selector — voice rate, in the Settings window or the deck
  • Volume slider, with every render loudness‑normalized so replies match
  • Back 10 / forward 10, restart, previous reply, full transport
  • Mute that keeps queueing — chats build up quietly until you're back
  • Global quiet hotkey (⌃⌥⌘Space) — silence the room from any app, no permission prompts

The voice

  • Kokoro neural voice — runs locally on Apple Silicon via MLX, ~54 voices, free
  • Warm renderer — replies become audio in under a second
  • Automatic fallback to the best installed macOS voice (Intel works too)
  • Voice preview in Settings; changing voice re‑renders what's still queued
  • Per-machine voices — tell your Macs apart by ear

AirPods & media keys

  • Stem clicks — click to pause, double for next, triple for back
  • Now Playing — Control Center scrubber while speaking, released when idle so your music keys come back
  • Two Macs, one pair — decks take turns instead of fighting over your AirPods

What it reads

  • The whole reply — every part of a long turn, not just the last paragraph
  • Tuned for the ear — emoji and markdown stripped, paths spoken as filenames, URLs as "link"
  • Never mid-turn noise — it waits for the settled reply, not tool-call chatter

The app

  • Floating mini player — auto-appears while speaking, drag it anywhere, Liquid Glass or classic frosted
  • Menu-bar icon with queue badge and a pulse while playing; Sy mark or speaker glyph
  • Native Settings window fronting plain dotfiles — shell edits stay in sync
  • Built-in updates — your version in the menu, an ↑ when a new one is out
  • Fully local — no accounts, no telemetry, MIT-licensed, works offline

Install

Prompt
Install SpeakySpeak on this Mac: clone https://github.com/radam5000/speakyspeak and follow INSTALL.md step by step, verifying each step.

Requires macOS 14 or newer, Claude Code, Homebrew, and the Xcode command-line tools.

INSTALL.md · github.com/radam5000/speakyspeak

Not exactly your setup? The instructions are written for Claude to adapt — desktop app, VS Code, Cursor, a different voice, two Macs. Just ask it.

Also by Adam