Skip to content

abchapterize 0.9.1

Choose a tag to compare

@Inguiotar Inguiotar released this 31 Jul 10:04

Chapter marks that land where the narrator actually says "Chapter Seven".

A feature release on top of 0.9.0. New here? The README explains what ABChapterize is for. What follows is what changed.

Marks for anything the narrator announces

--custom takes phrase:title pairs, so anything with a spoken name gets a mark of its own — interludes, timelines, part headings:

abchapterize --custom "zwischenspiel:Zwischenspiel;/zeit[- ]?tafel/:Zeittafel" book.m4b

A phrase is a plain word or a /regexp/, a title can quote the phrase's own capturing groups ($1), and --custom-file reads the mappings from a file. It still has to be announced — a passing mention in the narration is not a mark.

Prologues and epilogues now get their own marks as well, phrased and titled in each of the eleven supported languages, and --ignore-chapter-numbers turns off numbered-chapter hunting entirely for books that have none.

Pick your GPU

--list-gpus prints what your machine reports; --use-gpu gtx picks one by name instead of by an index that can come out in a different order depending on how you logged in. With nothing specified, a single discrete GPU is now preferred automatically, and the startup line names the card it settled on.

Faster, and more accurate

  • Marks now land within a tenth of a second of the announcement. They used to be accepted as soon as the chapter phrase was merely audible — which a jingle never contradicts, since Whisper does not transcribe music, so a mark sitting seconds inside one sounded perfectly convincing. Books with a musical sting before each chapter benefit most.
  • And they get there in seconds rather than minutes. A mark that had landed half a minute early used to be recovered by combing the audio a tenth of a second at a time — hundreds of transcriptions and twenty minutes of apparent silence on a single mark. It now closes in on the announcement instead.
  • Chapters that used to go missing generally don't. A number spoken as a Roman numeral, misheard as something impossible, dropped by the recognizer at a window boundary, or hidden behind a pause a hair too short to look at — each of those now has its own way back.

Everything else

--debug writes a full troubleshooting log beside a file. --log-file puts the log where you want it, --color decides whether the bar and summary are colored. Several files and folders can be named in one command, and an interrupted batch run picks up where it left off. --model custom:<path> runs your own Whisper model. Spanish, Portuguese and Danish now understand compound spelled-out ordinals ("Capítulo vigésimo primero").

And various bugs exterminated. The CHANGELOG has the full list, in detail.

Downloads

File Platform
abchapterize-0.9.1-win-x64.zip Windows x64
abchapterize-0.9.1-linux-x64.tar.gz Linux x64 (glibc)

Self-contained — no .NET runtime to install. Each archive carries the executable, the native Whisper and ONNX Runtime libraries (CPU, CUDA and Vulkan backends), the README, the manual and all license texts. Unpack anywhere and keep the runtimes folder next to the executable; you still need ffmpeg/ffprobe available, and the speech model downloads itself on first run.

Full documentation: README · Manual