READ2ME — read your editor aloud (offline neural TTS)Reads the active editor aloud using offline Piper neural text-to-speech, highlighting the current sentence and sweeping the current word as it speaks. 100% offline — no cloud, no API keys, nothing leaves your machine.
Install1. Install the extension — READ2ME is published on both major registries, so it installs natively in VS Code and in Cursor / VSCodium / Windsurf alike:
2. Set up the offline voice backend (one time):
Then point the extension at these files via Settings → READ2ME ( Verified on macOS (Apple Silicon), Python 3.12, ControlsStatus-bar buttons (bottom-right) plus hotkeys:
Works from the Markdown preview too (reads the source; highlight only shows if the source editor is visible side-by-side — the preview webview can't be decorated). VoicesThe picker lists every Settings (
|
| Setting | Default | Meaning |
|---|---|---|
pythonPath |
.tts-venv/bin/python |
Interpreter (relative to workspace or absolute). |
serverScript |
tts_server.py |
The persistent synth server. |
voicesDir |
tts-voices |
Folder scanned for .onnx voices. |
model / config |
tts-voices/en_US-lessac-high.onnx[.json] |
Default voice files. |
rate |
1.0 |
Base speech rate (>1 faster, <1 slower). |
wordHighlightColor / sentenceHighlightColor |
#ff385c tints |
Highlight colors. |
Note on word timing
en_US-lessac-high does not expose true per-word alignments, so sentence
boundaries are exact (anchored to each sentence's real audio duration) while the
word sweep within a sentence is estimated proportionally to word length. The
highlight always stays on the correct sentence and finishes exactly when the
sentence's audio ends.
Credits
Built by Ofir Kerker (@ofirski) · Website · X · LinkedIn
Speech synthesis by Piper.
License
MIT © Ofir Kerker