aboutsummaryrefslogtreecommitdiff
path: root/app/backends/audiocpp/wizard.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/backends/audiocpp/wizard.py')
-rw-r--r--app/backends/audiocpp/wizard.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/backends/audiocpp/wizard.py b/app/backends/audiocpp/wizard.py
index 91a8522..46b6638 100644
--- a/app/backends/audiocpp/wizard.py
+++ b/app/backends/audiocpp/wizard.py
@@ -600,6 +600,19 @@ def _execute_lanes(settings: dict,
transcripts, write_prompt = {}, False
state["transcripts"] = transcripts
state["write_prompt"] = write_prompt
+ # A blank transcript means the affected clone voices cannot work:
+ # transcript-conditioned families (Qwen3-TTS Base ICL) reject every
+ # request without it. Report the step as failed instead of a silent
+ # [OK]; the setup continues (warn-and-continue) and still writes
+ # server.json and prompt_text.
+ blank = sorted(name for name, text in transcripts.items()
+ if not text.strip())
+ if blank:
+ print("[ERROR] No transcript for: " + ", ".join(blank))
+ print("[ERROR] Those clone voices will NOT work until prompt_text "
+ "carries an accurate transcript for each one; see the "
+ "summary below for how to fix them by hand.")
+ return 1
return 0
def write(emit, cancel):