- Python 98.8%
- NSIS 1.2%
| .github/workflows | ||
| db_layer | ||
| dialogs | ||
| frames | ||
| locale | ||
| playback | ||
| .gitattributes | ||
| .gitignore | ||
| AudioShelf.ico | ||
| AudioShelf.png | ||
| AudioShelf.py | ||
| AudioShelf.spec | ||
| book_scanner.py | ||
| CHANGELOG.md | ||
| create_version.py | ||
| database.py | ||
| i18n.py | ||
| libmpv-2.dll | ||
| LICENSE | ||
| nvda_controller.py | ||
| nvdaControllerClient.dll | ||
| README.md | ||
| requirements.txt | ||
| setup.nsi | ||
| updater.py | ||
| utils.py | ||
| VERSION | ||
🎧 AudioShelf
The ultimate audiobook player that treats your books like books, not just files.
AudioShelf is a specialized desktop application designed for audiobook enthusiasts who need precision, organization, and accessibility. Unlike generic media players, AudioShelf understands that every book is a unique journey with its own progress, history, and settings.
🌟 Why AudioShelf?
Most players treat audio files equally. AudioShelf treats every book as a distinct entity.
📚 Book-Centric Management
- Independent Progress: Remembers exactly where you left off in every single book, down to the second.
- Smart Metadata: Automatically imports and manages book details, chapters, and file structures.
- Metadata Persistence: Saves your progress, bookmarks, and playback state directly alongside the book files (
.json). Move your library to another PC, and your listening history moves with it. - Dedicated History: Keep track of your recently played books in a dedicated history tab.
🎛️ Professional Playback Control
- Smart Resume: Intelligently rewinds a few seconds after long pauses so you never lose the context of the story.
- A-B Loop: Repeat specific sections of audio effortlessly—perfect for language learners.
- Variable Speed: Adjust playback speed without distorting the narrator's voice (Pitch-corrected).
- 10-Band Equalizer: Custom audio presets (e.g., Vocal Clarity) to enhance different narrators' voices.
🗣️ Accessibility First
- Screen Reader Optimized: Built from the ground up with native support for screen readers (including NVDA and JAWS) for precise semantic announcements.
- Keyboard-Driven: Every single feature is accessible via customizable hotkeys for a mouse-free experience.
🛠️ Powerful Tools
- Auto-Updater: Automatically checks for and installs the latest updates at startup.
- Sleep Timer: Configurable timer with system actions (Shutdown/Sleep/Hibernate).
- Portable Mode: Run AudioShelf directly from a USB drive without installation.
⌨️ Essential Hotkeys
AudioShelf is designed to be keyboard-centric. Press F1 in the app for the full list.
| Action | Shortcut |
|---|---|
| Play / Pause | Space |
| Stop (Reset) | Shift + Space |
| Rewind / Forward | Left / Right Arrow |
| Volume Control | Up / Down Arrow |
| Speed Control | J (Faster) / H (Slower) / K (Reset) |
| Quick Bookmark | B |
| Sleep Timer | T |
| Play Last Book | Ctrl + L |
| Search Library | Ctrl + F |
📥 Download & Installation
Get the latest version directly using the links below:
💿 Option 1: Installer (Recommended)
Click here to Download Setup (.exe)
- Run the installer to set up AudioShelf on your PC.
🎒 Option 2: Portable (No Install)
Click here to Download Portable (.zip)
- Extract the zip file anywhere (e.g., on a USB stick) and run
AudioShelf.exe.
📦 Option 3: Winget (Best for Updates)
Install securely via Windows Package Manager. Just open Terminal (CMD or PowerShell) and type:
winget install AudioShelf
Benefit: You can easily update later by typing
winget upgrade AudioShelf.
View full version history on the Releases Page.
🛠️ For Developers (Running from Source)
AudioShelf is built using Python 3.14, but supports Python 3.10+.
-
Clone the repository:
git clone https://github.com/M-Rajabi-dev/AudioShelf.git cd AudioShelf -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python AudioShelf.py
❤️ Support & Contributing
AudioShelf is a free and open-source project developed with passion.
- Star this repository on GitHub ⭐
- Donate via the in-app support menu.
- Contribute: Pull Requests are welcome!
🌍 Translation & Localization
AudioShelf aims to be accessible to everyone. We are currently looking for contributors to help translate the app into more languages!
If you would like to help:
- Download the template:
locale/AudioShelf.pot. - Translate it using Poedit.
- Submit a Pull Request or contact the maintainer.
📜 License
Copyright (c) 2025-2026 Mehdi Rajabi. AudioShelf is Free Software: You can use, study, share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Code Signing Policy
This project uses free code signing provided by SignPath.io and a certificate issued by SignPath Foundation.
Team Roles and Responsibilities
- Maintainer & Reviewer: Mehdi Rajabi (Owner)
- Approver: Mehdi Rajabi (Owner)
Privacy Policy
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.