Read text documents with full Unicode / Cyrillic support.
Free, local, no API keys — uses your operating system's built-in TTS.
- 🔊 Read entire documents, from cursor, or selected text
- ⏯️ Pause, resume, and stop controls
- 🎯 Highlights the currently spoken sentence
- 🌍 Full Unicode support — English, Chinese, Arabic, etc.
- 🎛️ Editor title bar buttons (Play / Pause / Stop)
- 🎨 Configurable highlight color
- 📂 Filter buttons by file type
- 🗣️ Voice picker from installed system voices
- 💻 Works on Windows, macOS, and Linux
Voices are provided by SAPI (System.Speech).
- Open Command Palette (
Ctrl+Shift+P) → VoiceFlow Reader: Select Voice - Pick
Microsoft George Desktop
Uses the built-in say command.
Install additional voices in System Settings → Accessibility → Spoken Content → System Voice → Manage Voices.
Install espeak-ng:
sudo apt install espeak-ngFor Chinese: set voice-flow-reader.voice to zh.
| Command | Description |
|---|---|
| VoiceFlow Reader: Speak Document | Read the entire document from the beginning |
| VoiceFlow Reader: Speak From Cursor | Read from the cursor position to the end |
| VoiceFlow Reader: Speak Selection | Read the selected text only |
| VoiceFlow Reader: Pause | Pause playback |
| VoiceFlow Reader: Resume | Resume paused playback |
| VoiceFlow Reader: Stop | Stop playback and reset position |
| VoiceFlow Reader: Select Voice | Pick from installed system voices |
Play, Pause, and Stop buttons appear in the top-right corner of the editor:
| State | Buttons |
|---|---|
| Stopped | ▶ Play |
| Playing | ⏸ Pause · ⏹ Stop |
| Paused | ▶ Resume · ⏹ Stop |
Buttons can be hidden entirely or shown only for specific file types (see Settings below).
| Setting | Default | Description |
|---|---|---|
voice-flow-reader.voice |
"" |
Voice name. Leave empty for system default. Use Select Voice command to browse. |
voice-flow-reader.speed |
1.0 |
Speech speed multiplier (0.1 – 5.0) |
voice-flow-reader.highlightColor |
rgba(255,255,0,0.3) |
Background color for the currently spoken sentence |
voice-flow-reader.showEditorButtons |
true |
Show Play / Pause / Stop buttons in the editor title bar |
voice-flow-reader.fileExtensions |
["*"] |
File extensions to show buttons for. Use ["*"] for all files. |
| Format | Extensions |
|---|---|
| Markdown | .md, .markdown, .mdx, .mdown, .mkd |
| Plain text | .txt, .text, and any other extension |
git clone https://github.com/Grim-es/voice-flow-reader.git
cd voice-flow-reader
npm install
npm run buildPress F5 in VS Code to launch the Extension Development Host.
npm run packageInstall the generated .vsix via Extensions → ⋯ → Install from VSIX.
If you find this extension useful: