The articles you saved and never got to, read aloud in your phone's own voice. Nothing you can read defeats it. Share or paste text from any app. Hand it a web page and get the article without the navigation. Open a PDF and get the words without the running headers and page numbers. Open a Markdown file and get a real document, with headings, lists, quotes and tables. Paste a Nostr link and hear the note itself, fetched from relays and checked against its own signature. Subscribe to an RSS or Atom feed, or to a Nostr author, and their writing arrives as something to listen to. It reads to you and reports to nobody. Everything lives on the phone: your queue, your places and your bookmarks stay in the app's own storage, and what you import is encrypted on the device. You use it straight away without an account. It reaches the network only when you ask it to fetch something, it is free of ads and analytics, and a chapter reads exactly the same in airplane mode. Built for hours of listening: a queue you can reorder, a voice per item, bookmarks you can name and search, a sleep timer, and pronunciation rules for the words your engine mangles. Dates and abbreviations are spoken as words. The page follows the voice and yields the moment you scroll with your thumb. The home-screen widget is a small reader in its own right, with the whole document on it and any line tappable to read from there. On GrapheneOS the speech engine is already on the phone, so Voca reads as soon as you install it. Free to use, and free software under MIT. Runs on Android 10 and up. As a nice touch, the current sentence lights up as it is spoken. Word highlighting follows measured audio when the installed speech engine can render ahead.
First release: Jun 25, 2025, 10 total releases.
Most recent release: Sep 24, 2026.
Appears in 4 app stacks.
2,100 sats / 1 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Sep 24, 2026 1.4.2# Voca 1.4.2 - Fixes anonymous-diagnostics uploads that failed with HTTP 415. The encrypted attachment now uses a Blossom host checked with a signed binary upload and a hash-matching download. Reports still require explicit consent; manual export remains available if a send fails. - Reduces work at live-speech sentence handovers and during word highlighting, especially while the reader is in the background. It avoids stopping an idle audio player, skips disabled trace formatting, and wakes the fallback word scheduler near its next word instead of rescanning every 48 milliseconds.
More…
- Does not change the installed speech engine or guarantee smooth audio from a third-party voice. Engine-specific stutter still needs a device log and an audible comparison on that phone. - Sep 23, 2026 1.4.1# Voca 1.4.1 - Changes the encrypted anonymous-diagnostics upload host after HTTP 415 responses; the new host passed signed binary preflight. A failed send can still be exported manually, and sending remains an explicit, per-report choice. - Keeps the CPU awake continuously across background speech sentence handovers and avoids redundant TTS and Media3 work at each boundary. With diagnostics off, word highlighting no longer formats a trace string on every word tick. - Does not change the voice engine or claim to fix stutter inside a third-party engine.
- Sep 23, 2026 1.4.0# Voca 1.4.0 - Auto-advance off now stops after the current queue item, including when finished items are removed automatically. - A soft, locally generated two-note cue separates automatically advanced queue items. - Reduces work at sentence and word boundaries to keep speech and follow-along responsive, including when the app is in the background. - Retains the Android anonymous-diagnostics delivery repair prepared in 1.3.1.
- Sep 17, 2026 1.3.0# Voca 1.3.0 Voca now has an app-specific Volume gain control from −30 dB to +20 dB. It applies to live system speech, pre-rendered speech, voice previews, and imported audio. Reduction uses normal attenuation; boost uses Android's per-session loudness compression instead of driving raw samples beyond their range. The default remains unchanged at 0 dB. Text selection now offers Bookmark beside Copy, and saved selections resume at the sentence they came from. Follow-along starts from the speech engine's audible-start callback, manual scrolling reliably detaches it, and the current-sentence button restores follow mode and
More…
recentres even when the destination was initially outside the composed viewport. The estimated word schedule no longer spends a learned sentence-boundary delay after audio has already started. Regression coverage now holds the timing anchor, selection action, off-screen jump retry, and follow-ownership behavior in place. - Sep 15, 2026 1.2.0# Voca 1.2.0 Sentence transitions are faster on speech engines that render slowly or do not acknowledge cancellation reliably. Voca now keeps speculative rendering out of the live speech lane, terminates interrupted requests exactly once, and avoids repeating a failed render probe for the rest of the listening session. Settings now includes an explicitly opt-in anonymous diagnostics report. The preview shows exactly what will be sent; document text is excluded unless separately enabled for that one report. Each report uses a fresh one-time Nostr sender key, travels as a NIP-17 private
More…
message, and resets its consent and optional message after the attempt. Large reports are compressed, encrypted locally, and uploaded only as ciphertext. The private message carries the download link and decryption material. Voca still has no analytics, account, device identifier, or background diagnostics uploader. - Sep 13, 2026 1.1.2# Voca 1.1.2 This update keeps word highlighting aligned from the first spoken boundary and preserves reader position when returning to the current sentence or resuming from the top. Follow Along now leaves an already visible target in place, while long Markdown documents keep their full rendered content and chapter state through playback and resume handoffs. Voca continues to turn articles, web pages, PDFs, Markdown files, Nostr notes, and subscriptions into a private on-device listening queue. It uses the phone's configured voice and supports Android 10 and newer, with GrapheneOS as the primary target.
- Sep 6, 2026 1.1.1# Voca 1.1.1 This update keeps reading controls and highlighting aligned during rapid taps, manual scrolling, sentence jumps, speed changes, and short or punctuation-heavy passages. Remaining-time estimates now stay tied to audible speech across queue and callback transitions. Nostr imports now resolve signed content more quickly and preserve it when optional profile lookups are slow or unavailable. Bare event references are handled safely, while mandatory relay and signature checks remain fail-closed. Voca continues to turn articles, web pages, PDFs, Markdown files, Nostr notes, and subscriptions into a private on-device listening queue. It uses the phone's configured voice and supports Android 10 and newer, with GrapheneOS as the primary target.
- Aug 29, 2026 1.1.0# Voca 1.1.0 Update for a home-screen reader that keeps pace with you. Rapid short sentences now scroll on time, long documents follow more smoothly, and the widget recovers cleanly after manual scrolling, resizing, process restarts and app upgrades. Voca turns articles, web pages, PDFs, Markdown files, Nostr notes and subscriptions into a private listening queue. It reads in your phone's configured voice, follows along by sentence and word, and keeps your documents and listening state on the device. This release also reduces background work during speech and prevents timing measurements from one document carrying into the next. Voca remains designed for GrapheneOS and runs on Android 10 and newer.
- Aug 27, 2026 1.0.0# Voca 1.0 If you can read it, Voca can say it. ## What it does Reads articles, web pages, PDFs, Markdown files and Nostr notes aloud in your phone's own voice, and lights the exact sentence and word as they are spoken, timed against the synthesized audio.
More…
Subscribes to RSS and Atom feeds and to Nostr authors, and keeps their writing on the phone so it reads in airplane mode. Renders a real reading page: edge-to-edge justified text, an amber night theme for OLED panels, a light theme for daylight, and scrolling that follows the voice and yields to your thumb. Says the words properly: pronunciation rules, a voice per queue item, speed control, and dates, clock times and abbreviations spoken as words. Holds a session together: a reorderable queue, bookmarks you can name and search, a sleep timer, background playback and one-press notification controls. Puts a small reader on the home screen, with the whole document on it and any line tappable to read from there. Reads to you and reports to nobody. Everything runs on the phone, you use it without an account, and what you import is encrypted on the device. Free software under MIT, built for GrapheneOS, running on Android 10 and up. ## The parts worth explaining **Getting text in.** Every route is treated the same way, and each one has its own damage to undo. Shared and pasted text has its hard line wraps repaired, so a copied chat log reads as sentences instead of stopping at the end of every line. A web address becomes the article, without the navigation or the cookie notice. A PDF keeps its pagination and your place in it, never speaks the running header or the page number, rejoins a sentence split across a page break, and reassembles hyphenated words. A Markdown file becomes a document with real typography: headings, quotes, three kinds of list, code, tables, links and images. A Nostr link, or an ordinary web link with a Nostr entity inside it, is fetched from relays, checked against its own id and signature, and read as the author's words instead of as the page built around them. **Why the highlight can be trusted.** Each sentence is synthesized to audio before it is played and then measured, so the schedule knows the true duration and every pause inside it. The highlight rides the audio player's own clock against that measurement, which is why the lit word stays on the spoken word from the first sentence of a book to the last instead of drifting further behind as the chapter goes on. The word marker appears only once its timing has been measured, so a freshly opened document carries the sentence band alone for a sentence or two and the marker joins when it can be exact. **The voice.** Voca speaks with the speech service your phone is already configured with and ships no engine, voice or model of its own; a packaging check fails the build if one ever appears inside the package. On GrapheneOS that engine is already there, so Voca reads as soon as you install it and the whole path stays on the device. Pronunciation rules are previewable against any installed voice, and every rewrite changes what is spoken while the text on screen keeps every character. **Footnotes and tables.** A footnote marker can be read where it stands, held back until the end of its sentence, or skipped, and the page shows exactly what will be read: change the setting and the open document re-renders around it. A table is announced as a table and then read a row at a time, in plain sentences. **Privacy.** Your queue, positions, bookmarks and cached subscription entries live in the app's own private storage, and the documents themselves are encrypted with a key held in the phone's hardware-backed keystore. Voca goes to the network when you ask it for something and stays off it otherwise, with no ads, analytics or telemetry. Nostr lookups reach Voca's own relays, the write relays an author publishes, and any hints carried in the link you opened, capped at eight relays; every event is verified by recomputed id and checked signature before it is stored, so a relay cannot put words in an author's mouth. - Jun 25, 2025 0.2.0# Release 0.2.0 See repository for full changelog.