Nabu is an advanced, on-device Text-to-Speech (TTS) and Chat application for Android. Built upon the foundation of an Kokoro-82M Android demo, significantly extending its capabilities with a powerful chat interface, dynamic model management, and a feature-rich audio book reader.
This project is a fork of the excellent Kokoro-82M-Android app by puff-dayo. A huge thank you for creating the original demo and making it open-source! This work stands on the shoulders of that initial effort.
Record_2025-08-14-18-24-48_c143006d1b73e9328ee5d1463cf0d856.mp4
We have taken the original demo and expanded it with several key features:
-
💬 Chat & TTS: A new, fully integrated screen where you can chat with an on-device Large Language Model (like Gemma or Qwen) and have its responses spoken aloud using the selected TTS engine and voice mix.
-
🧠 Dynamic Model Management: Download, manage, and switch between different chat models directly from the app. No need to bake them into the APK. Supports gated models from Hugging Face via user access tokens.
-
🚀 Accelerated Kokoro FP16: Runs the Kokoro-82M ONNX graph with NNAPI acceleration when available, while keeping the legacy INT8 CPU path as a fallback.
-
📖 Advanced Audio Book Reader:
- Open local text (
.txt
) and EPUB (.epub
) files. - Listen to documents with your customized TTS voice mix and speed settings.
- Save your progress with automatic bookmarks.
- Pre-generate the entire book's audio for smooth, uninterrupted offline listening.
- Open local text (
-
📂 Project-Based Workflow: Save your book reading sessions as "projects," which remember your document, voice mixer settings, speed, and reading position for easy access later.
The project is configured for a standard Android Studio build.
- Clone this repository.
- Open the project in Android Studio (Ladybug or newer is recommended).
- Let Gradle sync the project dependencies.
- Build and run the
app
module on an Android device or emulator.
Pre-compiled .apk
files are available in the Releases section of this repository.
This project would not be possible without the amazing work of the open-source community.
- Original App: Kokoro-82M-Android by puff-dayo.
- TTS Models:
- Kokoro-82M (Apache 2.0)
- kokoro-onnx (MIT)
- LLM Inference:
- Google AI Edge Gallery
- Google MediaPipe LLM Inference API
- Models like Gemma and Qwen2.5 from Hugging Face LiteRT community.
- Core Libraries:
- ONNX Runtime for on-device inference.
- Jetpack Compose for the user interface.
- IPA-Transcribers for phoneme generation.
- jsoup HTML parser used for EPUB support (MIT) by Jonathan Hedley.