Read Aloud

Chris SellsThread Content3 installsListed Sep 8, 2026View source
Get it for macOS
Read Aloud screenshot 1

Listen to any assistant message while you keep working, with speech that starts playing before the whole message is synthesized. A speaker button on every message row starts playback, and the player adds pause, stop, ten-second skips in both directions, and speeds from 0.75x to 2x that persist between sessions. Playback stops on its own when you switch threads or send a new prompt, and stopping cancels the synthesis stream instead of leaving it to finish unheard. Code blocks, link targets, and bare URLs are flattened out of the text first, so a voice reads prose instead of syntax. Speech uses Microsoft Edge's public neural voices over the network, so it needs an internet connection, but no account, API key, or paid service.


Overview

What you get

A speaker button appears on every message's action row. Press it and the message starts playing, usually about a second later, because playback begins on the first audio the voice service returns rather than waiting for the whole message to be synthesized.

The player that appears holds pause, stop, a ten-second skip in each direction, and a speed control from 0.75x to 2x. Speed is remembered per browser, so the rate you like is still there next time. Speeding up does not raise the pitch of the voice.

Stop means stop: it cancels the synthesis stream in flight instead of leaving the rest to be generated and thrown away. Playback also ends on its own when you switch to another thread or send a new prompt, so a message never follows you somewhere else.

How it works

Markdown is written to be read, not heard, so the text is flattened before it is spoken. Fenced code becomes a short spoken marker instead of hundreds of characters of syntax. Links keep their label and drop their target. Bare URLs come out entirely, since a voice reads them one character at a time. Headings gain a full stop so the voice lands before the next sentence, and table rows become comma-separated clauses instead of a run of pipes.

Speech comes from the same online neural voices that Microsoft Edge uses for its own read-aloud feature. The plugin speaks that protocol directly over a web socket, so there is no Python, no command-line tool, and no other binary to install alongside it. It also negotiates the client version the service expects, and remembers what worked, so a service-side version bump does not turn into a broken plugin.

Playback holds a few seconds of audio before it starts. That trades about a second of startup for not running dry mid-sentence when the network hiccups, which is what a phone on a slow link does.

Voice and a default speaking rate are plugin settings. bb read-aloud status reports whether synthesis is reachable and which voice and client version are in use, and bb read-aloud voices lists what the service offers.

Requirements

Synthesis happens over the network, so it needs an internet connection. It does not need an account, an API key, a subscription, or any paid service.

The source is at github.com/csells/bb-plugins.

More from Chris Sells

More in Thread Content

18

Change what people see or do inside an open thread.

View all