ReadMe lives in your menu bar and reads any text on screen out loud, in a natural voice, completely on your Mac. Nothing you select is ever sent to the internet. No account, no subscription, no limits.
Select some text, press a shortcut, and listen.
- Download the latest version from the Releases page.
- Unzip it and drag ReadMe into your Applications folder.
- Open it. A small speech bubble icon appears in your menu bar at the top right.
From then on ReadMe keeps itself up to date automatically.
The very first time you read something, ReadMe asks for Accessibility permission. It needs this to see the text you have selected in other apps. It also downloads the voice once, so the first read takes a little longer. After that everything is instant and offline.
- Select any text, in your browser, a document, an email, anywhere.
- Press Command Option R (or click the menu bar icon and choose Read Selection).
- Sit back and listen.
You can also copy text and choose Read Clipboard, handy when an app will not let you select cleanly.
Click the menu bar icon for the controls:
- Play and pause
- Stop
- Skip back or forward five seconds
- Jump to the next or previous sentence (Control Option Right or Left)
- See how much has played
The icon gently animates while it speaks, so you know it is working even with the sound muted.
Open the menu and pick Settings to choose:
- Voice: Ava or Leo
- Speed: from slow to fast, with quick 1x, 1.25x, 1.5x, and 2x toggles right in the menu
- Your keyboard shortcuts
- Whether ReadMe starts when you log in
Other handy bits in the menu:
- Speed: change how fast it reads, live, even mid sentence
- Sleep Timer: stop reading after 15, 30, or 60 minutes
- Export Last Read: save what you just heard as an audio file to keep or share
- It sounds like a person, not a robot from the nineties.
- It reads tidy. Headings, lists, and tables get natural pauses instead of running together.
- It is private. Your words never leave your Mac.
- It is free, with no caps, no trials, and no sign up.
ReadMe is pure Swift, no Python at runtime. Speech is the Marvis neural TTS model running on Apple MLX, with token level streaming so audio starts in well under a second and keeps generating while it plays. An optional local Gemma model can polish each chunk for more natural phrasing, pipelined a chunk ahead so it never adds delay.
- A regex normalizer expands markdown, tables, URLs, emails, numbers, currency, times, units, and symbols into spoken words.
- Structure becomes real silence: paragraph, line, list, and table row pauses are injected, since the model itself ignores newlines.
- Browser selections are captured as HTML, so headings, tables, and lists keep their structure and images are skipped.
- Dense number and identifier text is chunked short and watched for runaway output, to keep the model from drifting into garbled speech.
Needs the Command Line Tools with Swift 6 (full Xcode is not required) and the Python mlx package for its prebuilt Metal shader library:
pip3 install mlx
make build # debug build
make run # build and run from terminal
make release # release build
make bundle # build ReadMe.app under .build/
make install # copy ReadMe.app to ~/Applications and link the CLI
make icon # regenerate the app icon
make test # run the self tests
MLX needs a compiled mlx.metallib at runtime and CommandLineTools cannot compile Metal shaders, so the Makefile copies the prebuilt one from the Python mlx wheel. Keep mlx in the same minor series as the mlx core inside mlx-swift (currently 0.31.x).
Requirements to run: an Apple Silicon Mac on macOS 14 or later.
make install links the binary to /opt/homebrew/bin/readme:
readme -t "text to read" speak text
readme -f notes.txt speak a file
readme -t "text" -o out.m4a write audio instead of playing
readme -f notes.txt -o out.wav format inferred from the extension
Formats are m4a (small, easy to share) and wav (lossless).
All recordable in Settings. Defaults:
- Command Option R: read selection
- Command Option P: pause and resume
- Option Escape: read or stop, matching the macOS Spoken Content key
- Control Option Right and Left: next and previous sentence
If Option Escape also triggers the system voice, turn off the built in one under System Settings, Accessibility, Spoken Content.
Everything runs on device. The only network traffic is the one time voice download from Hugging Face and the update check against this repository. Debug Mode, which writes spoken content to the log for troubleshooting, is off by default.
- docs/ARCHITECTURE.md for the design
- docs/RELEASING.md for the release flow
- docs/ROADMAP.md for what is planned
MIT. See LICENSE.