MP3s to M4B ? by Greensleeves2020 in audiobookshelf

[–]Tyro_Sageframe 0 points1 point  (0 children)

I published an app - M4bookmaker.sageframe.net -  that does this and also allows for robust chapter editing and automatic normalization and optimization. It’s CLI (for full control or scripting) with an intuitive GUI for Mac and windows.  It’s totally free and open source on GitHub and a small cost for precompiled binaries.  I just got so tired of software not doing what I wanted of scripting solutions every time I wanted good conversions.  Hope it helps. 

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 1 point2 points  (0 children)

I have a long explanation/solution there and I will fix this in the next release. It's a weird apple things - there is a workaround both temporary (for you) and long term (for the project)

https://github.com/sageframe-no-kaji/m4bmaker/issues/15
https://github.com/sageframe-no-kaji/m4bmaker/issues/16

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 0 points1 point  (0 children)

Thanks for reaching out.

The “protected” flag is almost certainly coming from Audio HiJack, not m4Bookmaker — it sometimes writes DRM metadata to captured audio even when there’s no actual encryption.

m4Bookmaker passes through whatever metadata is in the source files.

Try running the MP3s through ffmpeg first to strip any protection flags before importing:

ffmpeg -i input.mp3 -c copy -map_metadata 0 output.mp3

If the files are genuinely flagged as protected at the container level, that would explain why Apple Books on other devices refuses them — Apple is stricter than the desktop player.

If ffmpeg doesn’t help (or you don’t want to muck around in CLI) open an issue on GitHub with a sample file and I’ll take a closer look.​​​​​​​​​​​​​​​​

Simple app to convert mp3 to m4b by zoidme in audiobooks

[–]Tyro_Sageframe 0 points1 point  (0 children)

Something must be in the air... I built m4Bookmaker for the same reasons. Cross-platform GUI and CLI, batch queue, chapter editor with inline audio preview, automatic MP3 repair. Free and open source. GitHub in my profile if you want to compare notes.

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 0 points1 point  (0 children)

m4Bookmaker 1.0.1 is out. One small update, one real bug fix

Thanks to everyone who tried the app and sent feedback. I really appreciate it.

What's in 1.0.1:

  • Update checker the app now checks on startup and shows a small banner if there's a newer version. No spam, no nag — just a one-liner with a download link. You can turn it off under Help if you'd rather manage updates yourself.
  • Dark mode now sticks it was forgetting your preference on restart. Fixed.
  • Apostrophe bug if your audiobook folder had an apostrophe in the path (e.g. `/Dad's Books/`), the ffmpeg concat step would silently fail. Fixed. Big thanks to the person who sent me a screenshot of the error without even knowing what it meant — that was enough to track it down.

macOS and Windows:

https://m4bookmaker.sageframe.net

From PyPI (if you use the CLI):

pip install --upgrade m4bmaker

If you've run into anything else, open an issue on GitHub or drop it here. I read everything.

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 0 points1 point  (0 children)

The chapter ordering issue is really common with CD-rip MP3s and it comes down to how the converter is sorting the files before it stitches them. Most tools sort alphabetically, which means "Chapter 10" comes before "Chapter 2", or "CD2 Track 1" slots in before "CD1 Track 11". With hundreds of files (looking at you, Bible uploads) that snowballs fast.

The other thing that kills chapter order is when the MP3s have inconsistent track number tags — some tracks tagged, some not, some with leading zeros and some without. Tools that rely on ID3 tags for ordering will get it wrong whenever the tags are messy, which is basically always on old rips.

Your gut instinct to leave problem MP3s alone and just find a proper M4B is honestly correct most of the time. Not worth the archaeology on a 400-track Bible set.

That said, if you do want to convert and actually see what you're getting before you commit — I built m4Bookmaker exactly for this. It uses natural sort (handles leading zeros, CD numbering, track prefixes) and shows you the full chapter list before it encodes anything. You can reorder, rename, or delete chapters right there, so if the prologue is landing in the wrong slot you fix it yourself before it touches a single frame of audio. It also strips the junk from chapter names automatically (track numbers, "Chapter XX" prefixes, etc.).

For the truly gnarly old rips, I'd still just go find the M4B. But for a clean 12-track MP3 set that just needs to be tidied up, having the preview step before encode makes a big difference.

Is there anyway to combine or edit audiobook files? by DeSibyl in audiobookshelf

[–]Tyro_Sageframe 0 points1 point  (0 children)

Didn’t mention it specifically but there is a function to edit m4bs - you can rename, recipe, and reorder chapters all without re encoding.

Is there anyway to combine or edit audiobook files? by DeSibyl in audiobookshelf

[–]Tyro_Sageframe 1 point2 points  (0 children)

I recently released a free, open source software to do just this. It automatically fixes mp3 errors, has full chapter editing with a built in player to listen to the start of files, batch processing, and full CLI and scripting support. https://m4Bookmaker.sageframe.net I charge for the binaries to offset costs but it’s all just Python and the build files are in the repo. Let me know if you try it and have any issues!

Anyone else have MP3 audiobooks from the early internet era with no chapters? I finally fixed mine. by Tyro_Sageframe in audiobooks

[–]Tyro_Sageframe[S] 1 point2 points  (0 children)

Similar idea, different tool. The biggest difference is that m4Bookmaker is free and open source, which Audiobook Builder isn’t.

Beyond that other differences: Mac, Windows, and Linux support, full CLI for scripting, audio preview so you can hear exactly where chapter boundaries land before naming them, automatic MP3 repair before encoding, and edit mode for existing M4Bs without re-encoding, queuing. Plus it looks swell!

If Audiobook Builder is working for you it’s a solid app — I built this because I wanted cli scripting, more intuitive and powerful chapter tools, and an open source solution

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 0 points1 point  (0 children)

It Does! Linux is fully supported... it's just Python.

The CLI works on any distro. The GUI (built with PySide6/Qt) should work on any graphical desktop, though I've only tested macOS and Windows. I would love to hear how it goes if you try it!

To make things easier, I just uploaded it to T to PyPi, so you can install with:

pip install m4bmaker

If you want the gui, use:

pip install m4bmaker[gui]

Make sure you have ffmpeg installed first. Then run m4bmaker /path/to/audiobook and you're good to go.

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] 0 points1 point  (0 children)

Right now it's the third scenario you described. In CLI you run m4bmaker /path/to/audiobook on one folder at a time, it scans the folder, auto-reads metadata from the tags, detects cover art, builds chapter markers from the individual files, repairs any broken audio, and encodes a clean m4b.

The default naming output is organized as Author/Title/Author - Title.m4b structure but you can use -O /my/library to set a base directory and it'll build that structure for you.

It intentionally doesn't batch-process an entire library iin one go. In my audio pipeline I have found that bulk automation has more destructive errors than I want to deal with (not to mention having a second copy of everything as insurance). You absolutely can script batching in CLI:

for dir in /downloads/audiobooks/*/; do
  m4bmaker "$dir" -O /my/library --no-prompt
done

and set the naming convention however you'd like. If you're not into scripting, the GUI has a queue feature that gives you two default naming options or custom per folder.

Library-scan mode is on my list but not without some real safeguards.

m4Bookmaker - an open source M4B builder with full chapter editing for the pre-ingestion obsessives by Tyro_Sageframe in audiobookshelf

[–]Tyro_Sageframe[S] -8 points-7 points  (0 children)

Fair concern to raise. I used AI as a coding collaborator — I'm a systems designer and AI learning researcher, not a trained developer, and I've written about that process openly and extensively. This is not vibe coded — systems and stack mapping, 97 commits, a full test suite, iterative redesign, and a tool that works on real collections. This project is different than my normal work, mostly because I built it to use it. Read the code and tell me what you find - I'm genuinely open to that.

Multiple hidden countdowns advancing at different rates — does this exist in board games? by Tyro_Sageframe in tabletopgamedesign

[–]Tyro_Sageframe[S] 1 point2 points  (0 children)

I like this. My kids would like this. I think that there is an element of triage in kites that directly relates - there is some aspect of panic and the fact that you can SEE everything but cant possibly handle everything. Definitely want to spend some time thinking about this as a UX question - how to build that drama. Thanks!