A local Electron app that reads Markdown documents aloud using Kokoro — a high-quality, open-weight neural TTS model that runs entirely on your machine.
- Open any folder of
.mdfiles and play them as a playlist - Neural TTS via Kokoro-82M (runs locally, no API key needed)
- Sentence-by-sentence playback with live highlight in the rendered document
- 28 English voices (American & British)
- Speed control (0.75× – 2×)
- Play / Pause / Stop / Prev / Next controls + keyboard shortcuts
- Auto-advance to the next document when one finishes
- Node.js 18+
- Windows, macOS, or Linux
npm installThe Kokoro model (~85 MB) downloads automatically from Hugging Face the first time you press Play and is cached locally for all future runs.
npm startWindows users: run from PowerShell or Command Prompt, not Git Bash.
- Click Open Folder in the sidebar and select a directory containing
.mdfiles. - Click a file to load it, then press Play (or
Space). - On first play the model downloads — a progress bar shows in the status strip.
- Once loaded, audio streams sentence-by-sentence as it is generated.
| Key | Action |
|---|---|
Space |
Play / Pause |
Escape |
Stop |
→ |
Next document |
← |
Previous document |
pim/
├── main.js # Electron main process — window, IPC, file system
├── tts-worker.js # Node.js worker thread — Kokoro inference (off main thread)
├── preload.js # Context bridge — exposes safe IPC API to renderer
└── renderer/
├── index.html
├── renderer.js # UI logic, audio queue, Web Audio API playback
└── styles.css