A minimalist, offline-friendly audiobook player app built using KivyMD, with support for audio part selection, playback control, and sleep timer functionality. Designed with a smooth UI and persistent local storage for downloaded content.
-
Multi-Part Audiobook Support
Each book consists of multiple audio parts, selectable from a dropdown. -
Playback Controls
Play, pause, and seek support with real-time UI updates. -
Sleep Timer
Set auto-pause after 5, 10, 15, 30 minutes, or at the end of the episode. -
Persistent & Syncing Storage Automatically saves downloaded audiobooks and their structure locally, while listening for server updates to fetch and store newly added audiobooks.
-
Dynamic Theming
Customizable primary palettes (more than 20 unique color-palettes)
📦 root/
├── 📁 assets/
│ └── 📁 audio/ # Downloaded audiobook files
├── 📁 screens/
│ ├── menuscreen.kv
│ ├── playscreen.kv
│ └── welcomescreen.kv
├── 📄 main.py # App entry point
├── 📄 dict_book_link.yaml # Maps book titles to their audio part URLs
├── 📄 audiobook_list.pkl # Pickled cache of downloaded books
└── 📄 README.md
git clone https://github.com/R-Anurag/Feature-Complete-Audiobook-App.git
cd kivymd-audiobook-playerpip install -r requirements.txtOr manually install:
pip install kivy kivymd ffpyplayer pyyamlpython main.pyEnsure you're running this on desktop or a compatible Android Kivy build. Uses ffpyplayer backend for audio seeking.
- Add bookmarking per chapter
- Stream audio without downloading
This project is licensed under the MIT License.
Built using:
Have ideas or issues?
Open an issue or start a discussion.










