Pipeline: env overrides for endpoints and dirs; voice health check, retries, load-on-demand; refuse speed_factor
This commit is contained in:
@@ -27,7 +27,7 @@ voice:
|
||||
# LOCKED by Ty 2026-10-17 for MVP ("clip B"): Chatterbox, stock voice Michael, native settings only.
|
||||
# Never set speed_factor: the server applies it as a time-stretch after generation and ruins the sound.
|
||||
api: chatterbox_tts # chatterbox_tts = native /tts route; anything else = OpenAI-style /v1/audio/speech
|
||||
endpoint: http://voice:8004/tts
|
||||
endpoint: http://voice:8004/tts # override with env AUDIOBOOK_VOICE_ENDPOINT (CI uses the LAN address)
|
||||
model: chatterbox
|
||||
voice: Michael.wav
|
||||
extra: # extra JSON fields sent with every request
|
||||
@@ -38,12 +38,16 @@ voice:
|
||||
split_text: true
|
||||
chunk_size: 240 # the server splits long text at sentence ends into chunks of about this size
|
||||
timeout_s: 600
|
||||
retries: 3 # a failed request is retried this many times (5 s, then 15 s, then 45 s apart) before the run fails
|
||||
load_if_needed: true # if the server is up but its model is unloaded, ask it to load (POST /restart_server) before rendering
|
||||
unload_when_done: false # true = free the GPU after a render (POST /api/unload); the next run loads it again
|
||||
max_chunk_chars: 100000 # one request per paragraph; the server does the sentence splitting (chunk_size above)
|
||||
gap_sentence_s: 0.25 # pause between pieces inside a paragraph
|
||||
gap_paragraph_s: 0.7 # pause between paragraphs and after cues and labels
|
||||
|
||||
ocr:
|
||||
enabled: true # run ocrmypdf only when a page has no text layer
|
||||
required: true # pages without a text layer and no working OCR = the run fails (env AUDIOBOOK_REQUIRE_OCR=0 to allow)
|
||||
language: eng
|
||||
min_chars_per_page: 10 # fewer characters than this = no text layer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user