Files
old-books/_incoming/README.md
T

2.3 KiB

Drop a PDF here to get an audiobook

What you do

  1. Put the PDF in this folder (_incoming/). In Gitea: open _incoming, choose Add file > Upload file, drop the PDF, commit to main.
  2. That is all. Nothing else to click, nobody to ask.

What happens next (automatic, no bot)

A job on the 5060 machine reads the PDF, cleans the text, finds every chapter, writes the narration script and the license note, speaks every chapter in the locked voice (Michael, Chatterbox), builds one MP3 per chapter plus opening credits, closing credits and a retail sample, checks every file against the Audible/ACX numbers, and commits the finished book back to main. The PDF moves out of _incoming/ in that same commit.

Where the audio appears

books/<author-surname-first>/<book-title>/audio/ (one MP3 per chapter, credits, retail sample, run.log with the ACX check table). Next to it: text/, script/, figures/skipped_figures.md, book.json, warnings.log, LICENSE_STATUS.md, and the PDF. Example: books/clark-glenn/the-man-who-tapped-the-secrets-of-the-universe/audio/

How to see progress

Open the repo's Actions tab (https://gitea.vps1.afterthedemo.com/Ty_Tech/old-books/actions). The run named audiobook is yours. Green = finished and committed. Red = it stopped, and the log says which step failed and why. A red run commits nothing and leaves the PDF here; fix the cause, then push anything that touches the PDF again, or use Run workflow on the Actions page and give it the PDF path. Long books take hours. About 1 hour of audio takes about 30 minutes to render.

Good to know

  • Title and author are read from the PDF. If the PDF has no "By " line, the file name Some Title - by First Last.pdf is used. If neither works, the run fails and says so; then add a small file next to the PDF with the same name and .json, for example my-book.json containing {"title": "My Book", "author": "First Last"}.
  • Scanned pages with no text layer are OCRed automatically. OCR mistakes are listed in warnings.log.
  • Dropping the same PDF again skips audio that already exists.
  • License status defaults to unknown and never blocks anything. Nothing is published anywhere outside this repo.
  • Summaries (chapter preview, chapter-end summary, mid-chapter summary) are off. Turn them on per book in book.json under summaries.