Skip to content

Repository files navigation

🔊 Audio Read

Turn any PDF or EPUB into an audiobook on Android. Audio Read reads your books aloud in a natural voice that runs entirely on your phone, highlighting each word on the original page as it goes. Free, open source, no account, and nothing leaves your device.

⬇ Download the latest APK (Android 7.0+, 64-bit phones)

Features

  • A natural voice, fully offline. The built-in voice is Kokoro-7M, a 9 MB neural model that runs on the phone's CPU. On a Snapdragon 8+ Gen 1 it generates speech 6–14× faster than real time. You can also pick any Android text-to-speech voice.
  • Word-by-word highlighting on the real page. PDFs and EPUBs are read over their original layout. The model reports how long each sound lasts, so the highlight lands on each word as it is heard. Tap anywhere to jump there.
  • Skips headers and footers. Running headers, page numbers and footers in PDFs are left out automatically. For tricky layouts, Crop pages sets margins once, and they apply to every page.
  • Reads like a reader. Pauses come at sentence and paragraph ends. Headings set in spaced capitals are read as words, not spelled out.
  • Full player. Speed control, sleep timer (including end of chapter), lock-screen and Bluetooth controls, and it keeps reading with the screen off.
  • Library. Folders, and every book remembers your place.

Install

Download Audio-Read-<version>-arm64.apk from the releases page and open it on your phone. Android will ask you to allow installs from your browser or file manager.

Upgrading from v0.9: v1.0 has a new app id, so it installs alongside the old app. Install v1.0, then uninstall the old Audio Read.

How the voice works

Everything happens on the device, in native/AudioReadNative/android/.../kokoro/:

  1. Text to phonemes. A Kotlin port of misaki, the front end Kokoro was trained with, plus espeak-ng for names and other words not in its dictionaries.
  2. Phonemes to speech. Kokoro-7M runs with ONNX Runtime on the phone's fastest cores. It outputs the audio and the duration of every phoneme, which drives the word highlight.
  3. Playback. The next sentence is generated while the current one plays, and the audio is written gaplessly to one stream.

The model is our own ONNX export of the Apache-2.0 weights, with an added durations output. scripts/kokoro-export/ rebuilds it.

Repository layout

  • native/AudioReadNative/: the Android app (React Native, plus Kotlin modules for the voice and documents). See its README for build instructions and tests.
  • src/: the landing page (Vite + React), deployed on Vercel.

Build

cd native/AudioReadNative
npm install
bash scripts/setup-kokoro.sh        # model, dictionaries, espeak (needs the Android NDK + SDK CMake)
cd android && ./gradlew assembleRelease

Landing page: npm install && npm run dev in the repository root.

Licence

Audio Read is free software under the GNU GPL v3. It builds on:

Releases

Packages

Contributors

Languages