mattkevan commited on
Commit
7adf451
·
1 Parent(s): 186f4a4

Update README and replace demo video

Browse files
Files changed (3) hide show
  1. .gitattributes +1 -0
  2. README.md +66 -2
  3. Video.mp4 +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -8,10 +8,74 @@ sdk_version: 6.18.0
8
  python_version: '3.12'
9
  app_file: app.py
10
  pinned: false
11
- short_description: Convert your library to the spoken word
 
 
 
 
 
 
12
  ---
13
 
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  ## Modal backend configuration
17
 
 
8
  python_version: '3.12'
9
  app_file: app.py
10
  pinned: false
11
+ short_description: Convert your books to the spoken word
12
+ tags:
13
+ - track:backyard-ai
14
+ - sponsor:openai
15
+ - sponsor:nvidia
16
+ - sponsor:modal
17
+ - badge:off-brand
18
  ---
19
 
20
+ # Scriptorium
21
+
22
+ Scriptorium is a Gradio-based app for turning EPUB books into audiobooks. It provides a custom front-end for uploading and configuring a book, previewing voices, running long-form synthesis, and exporting the finished audiobook once generation completes.
23
+
24
+ ## Demo video
25
+
26
+ <video controls width="100%" src="https://huggingface.co/spaces/build-small-hackathon/Scriptorium/resolve/main/Video.mp4">
27
+ Your browser does not support the video tag.
28
+ </video>
29
+
30
+ [Open video directly](https://huggingface.co/spaces/build-small-hackathon/Scriptorium/resolve/main/Video.mp4)
31
+
32
+ ## Social media post
33
+ https://bsky.app/profile/unlimiteddreamco.xyz/post/3moe744qpos2m
34
+
35
+ ## What it does
36
+
37
+ - Parses EPUB uploads into chapter text and metadata.
38
+ - Lets users select which chapters to include.
39
+ - Supports preview generation before committing to a full render.
40
+ - Runs full-book synthesis with progress updates and an export flow after completion.
41
+ - Exports finished renders from session-scoped storage.
42
+
43
+ ## Project structure
44
+
45
+ - `app.py`
46
+ - Main Gradio server entrypoint and API registration.
47
+ - `frontend/`
48
+ - Custom HTML/CSS/JS interface for the three-step app flow.
49
+ - `backend/epub.py`
50
+ - EPUB validation, parsing, metadata extraction, and chapter shaping.
51
+ - `backend/synthesis_service.py`
52
+ - Main orchestration layer that routes preview/render work to local or Modal-backed synthesis.
53
+ - `backend/modal_client.py`
54
+ - Client for the optional remote Modal synthesis service.
55
+ - `modal_app.py`
56
+ - Modal FastAPI worker app for remote preview and render jobs.
57
+ - `backend/export.py`
58
+ - Audiobook packaging and export helpers.
59
+ - `tests/`
60
+ - Backend and integration-oriented test coverage for parsing, synthesis routing, Modal client behavior, and API wiring.
61
+
62
+ ## Models and synthesis backends
63
+
64
+ Scriptorium currently supports these speech models:
65
+
66
+ - `OmniVoice`
67
+ - Main model for presets, design-prompt voices, and voice cloning.
68
+ - `Magpie TTS`
69
+ - Multilingual synthesis with speaker presets and optional text normalization.
70
+
71
+ It can run them through two execution backends:
72
+
73
+ - `HF/local`
74
+ - Runs synthesis inside the Hugging Face Space runtime.
75
+ - `Modal`
76
+ - Offloads synthesis to a separately deployed Modal worker.
77
+
78
+ The in-app voice presets such as `The Archivist`, `The Novice`, `The Warden`, and `The Illuminator` are themed preset layers on top of the underlying synthesis configuration.
79
 
80
  ## Modal backend configuration
81
 
Video.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c79c6c487a54fd57c7d48a9eed73d22445321b8c582ffb25f1f09d0a16437493
3
+ size 7131007