Lectures and Narrations
An Android player for .m4b audiobooks — with chapter-relative scrubbing, sleep timers, and an EPUB companion reader that highlights the text in sync with the narration.
The biggest update yet — collections, library sorting, an adjustable sleep fade, and dark mode for the reader (plus the mini-player and per-book progress from v1.2).
Group your books into folders, each shown as a little shelf of the covers inside. Create one from the + button, open it to browse, and add or remove books from a book's detail sheet.
Order books by name or date added, ascending or descending — tap the active field again to flip direction. Your choice is remembered across launches.
The sleep-timer fade-out is now a slider — Off, 10 s, 30 s, 1 min, or 5 min — so the wind-down matches how you like to drift off.
The EPUB reader gains a light / dark toggle and A− / A+ text sizing, both remembered across books and launches.
A compact playback bar rides along on every screen (play/pause, skips, and a Read button; tap to expand), the library shows a progress bar on each cover, and the player's chapter title doubles as a chapter picker.
See the full changelog for every change, including the v1.2 and v1.0 release notes.
LN began as an AI experiment in book understanding — using language models to analyze narrative structure, character traits, and scene dynamics — and grew into an end-to-end pipeline for immersive, multi-voice audiobooks.
An offline, self-hosted AI pipeline that ingests raw text or EPUBs. It orchestrates LLMs to cast characters and direct emotional delivery, then uses local TTS to generate a fully acted, multi-voice .m4b complete with text-to-audio sync markers.
The Python pipeline on GitHub →A custom Android app built specifically to play these enhanced audiobooks. Chapter-relative scrubbing, sleep timers, and an EPUB companion reader that automatically highlights the text in sync with the audio.
Get it on Google Play →A focused, offline audiobook player — no accounts, no streaming, no tracking.
Each book can carry two optional companions, attached from its detail sheet. What you get depends on what's attached:
| EPUB | Sync | Result |
|---|---|---|
| ✓ | ✓ | Reader auto-follows the audio: highlights the active lnvox-beat span, scrolls to it, and turns pages as playback advances. Scrubber shows tappable image markers. |
| ✓ | ✗ | Plain reader, manual paging only. |
| ✗ | ✓ | Image markers on the scrubber only (no reader). |
| ✗ | ✗ | Plain audiobook. |
In auto-follow mode, manually flipping a page pauses following; a Resume button re-engages it and jumps to the current beat. Scrubber image markers sit at each manifest image's position within the current chapter — tap one to open the matching embedded m4b image.
ln-reader is single-device, offline-first software. Here's exactly what that means.
DocumentsProvider for your .m4b files — Drive, OneDrive, the system Files app, and most third-party managers work.chpl only. QuickTime text-track chapters load but show an empty list.covr) is the cover; other images appear in the viewer but aren't tied to chapters.span.lnvox-beat[data-beat-id]); unmatched beats just don't highlight.Prefer source over the Play Store? Build the debug APK in one command.
JDK 21 required. From the project root:
The debug APK lands in app/build/outputs/apk/debug/.
Install it with adb install.
Architecture, design decisions, and tooling quirks live in the project's DESIGN.md.
Browse the source →