This project and its author are not affiliated with, endorsed by, or associated with any organizations, institutions, or third party forks using this code or its name. Any forks or derivative repositories represent the views and actions of their respective maintainers, not this project.
The name 'myAudiobookbinder,' screenshots, app logos, and app imagery are not licensed for reuse or redistribution without permission, and as of the last commit, no permissions have been granted. If permissions are ever granted, that will be specified here. The code is licensed under GPLv3.
Desktop app to combine multiple MP3 files into a single audiobook with metadata and optional cover art. Specifically made for iPod/mp3 player purposes. Supports output formats m4b, m4a, and mp3. I included the other output formats specifically for picky and even pickier mp3 players. Tested on macOS. Windows/Linux should work with Python 3.10+ and ffmpeg installed, but are untested. Includes a ton of options for adding metadata and sorting options for tracks and the ability to add and crop cover art.
This app runs locally on your machine. It does not use or require wifi. It does not require an account or even have an option to create an account and does not collect credentials, tokens, or personal data. It does not send your files or data externally from your computer. It only works with the files you choose/import (or the folder you select), that are local and already-owned files. It does not access or download audiobooks or anything of the like from the internet.
This app only converts mp3 files into either m4b files, m4a files, or one long mp3 file, while adding metadata.
Settings are saved locally in ~/.myAudiobookBinder/settings.json (no data is sent anywhere).
This is an early-stage open-source utility. The core functionality is complete and I personally use it often, but true full testing and refinement are ongoing. This app is in active development and will continue to recieve updates. Technical review and feedback are welcome.
I’m releasing this tool as open source to support transparency and open technical review, so anyone can inspect the code and see exactly how the app works and what it does and does not do. This repository includes two versions of each code file: one with clear, beginner-friendly comments that explain what each part does, and one without comments. Both versions contain identical code.
This project is licensed under the GNU General Public License v3 (GPLv3). This means anyone can inspect, use, and modify the code, but any redistributed versions or derivative works must also remain open source and licensed under GPLv3.
• Import multiple .mp3 files at once
• Import your own cover art
• Auto imports the cover art already embedded into the imported .mp3's, and you can delete it to add a new one if you want
• Crop cover art automatically to a square or rectangle, or click and drag to create your own cropped selection
• Adds your input book info as metadata for media managers like iTunes, and also for mp3 players
• Adds these metadata/input fields:
• Book title
• Book author
• If the book is part of a series or not
• Title of series, if it's in a series
• Which number in the series the book is
• How many books in series
• Sorting options for your imported .mp3 files:
• Move up selected track
• Move down selected track
• A-Z
• Z-A
• Date added (for situations where the filenames make no sense but they were downloaded in the right order)
• Can process unlimited audiobooks at the same time - click the '+' button to open a new window
• File names are saved in this format: (Title) by (Author) while maintaining separate title and author metadata, for organizational purposes
• This repo includes two versions of each Python file: a fully commented version (*_with_comments.py) and a code-identical version without comments.
Requirements
- Python 3.10+ recommended.
- App looks to see if you already have ffmpeg installed. To check, or to download ffmpeg, see below how to install requirements.
- Dependencies: see
requirements.txt.
python3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpython3 myAppThings/Scripts/app.py
py -3 -m venv .venv.venv\Scripts\activatepip install -r requirements.txtpython myAppThings\Scripts\app.py
python3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpython3 myAppThings/Scripts/app.py
A venv is optional. You can run this without one, but I recommend using it so the app’s Python dependencies don’t mix with anything else on your computer.
- Check:
ffmpeg -version - macOS (no Homebrew): Download ffmpeg from the official site, unzip it, and run it from that folder or move the
ffmpegbinary into your PATH. - macOS (Homebrew):
brew install ffmpeg - Note: installing ffmpeg usually includes
ffprobeandffplaytoo. - Windows (Winget):
winget install ffmpeg - Ubuntu/Debian:
sudo apt-get install ffmpeg - Fedora:
sudo dnf install ffmpeg - Arch:
sudo pacman -S ffmpeg
Instructions:
- After installing requirements (see above), run:
- macOS/Linux:
python3 myAppThings/Scripts/app.py - Windows:
python myAppThings\\Scripts\\app.py(orpy -3 myAppThings\\Scripts\\app.py)
- macOS/Linux:
Instructions:
-
How to start making audiobook files: Start by either inputting the information about the audiobook, or by importing the audio files, whichever you want to do first.
-
How to input audio files: Click the Import Audio Files button, then the large white area where it says click here to add files, and a window will pop up allowing you to select your files. Select all of your files at the same time by either shift clicking or click and dragging a selection.
-
How to add audiobook info: Fill out/type the information about the audiobook: title, author, if its part of a series, which book number of the series its in, how many books are in the series, and the series name.
-
Note: The saved files will be saved in this format: (Title) by (Author) for example, Inkheart by Cornelia Funke. The metadata will maintain the actual book title and author title seperatley, but the file name will be (Title) by (Author) format.
-
How to add cover art: Click import cover art, and then double click the large white area to open the selection window to choose your cover art.
-
How to crop cover art: Select either square or rectangle on the right side buttons, and then either drag the auto created selection or, it may be easier to click and drag to create your own cropped selection. Moving the auto created selection is a bit buggy and will be fixed soon. You can also delete the art with the trash button, and then add new art. Also, if your chosen starter mp3 files already had art, it will be added to the cover art screen but you can delete it and add your own if you'd like.
-
How to choose file type: Click the drop down for the format type and select either m4b, m4a, or mp3. M4b is standard and reccomended for most uses. m4a is for some picky mp3 players such as the Innioasis Y1. mp3 is for even pickier mp3 players that only play mp3 files.
-
How to sort audio files: Use the buttons on the right side in the audio importing window to sort your audio files. Options include A-Z, Z-A, by date added, and you can also select files and move them manually up or down with the arrow buttons, and delete specific files manually with the trash icon button.
-
How to create/process more than one audiobook at a time: Click the plus sign + button to open an additional window for creating another audiobook file. There is no limit on how many you can process at the same time! Also, when the file finishes, click the plus + sign to create another file if you'd like to make more.
-
How to bind your mp3s and create your audiobook file: Click the Bind! button to create your file. The duration depends on how long the files are/how many files you have selected. The bottom left of the screen displays which file it is currently processing, with a loading bar underneath. For example: Loading... 1 out of 20.
Note:
Thank you so much for using my app! This is my first app; I'm so glad you're here.




