feat(tts): emotion tags reach the model, long scripts are chunked
The upstream Chatterbox README documents paralinguistic tags ([laugh], [chuckle], [sigh], ...) as native to the Turbo family, and the vendored Turbo pack passes them straight to the tokenizer -- it never parses them. Our engine deleted them before the model saw them, so the feature looked implemented and was inaudible. * the text engine keeps a Turbo tag verbatim and records its name; on any other pack the nine Turbo names stay literal text instead of being swallowed as a voice name, and the run says so * the v2 angle tokens are re-spelled for Turbo (<giggle> -> [giggle]) and left untouched everywhere else * generate_audio now builds one plan for every family, synthesises one chunk per model call and joins the chunks; the classic path goes through the engine too, which is what makes "[Alice]" open a character segment * per-chunk seeds (seed + index) keep a chunked run reproducible without giving every chunk the same prosody * four appended widgets on ChatterboxTTS: enable_chunking, max_chars_per_chunk, chunk_combination_method, silence_between_chunks_ms * chunk boundaries prefer a sentence end and never land inside a tag * Turbo's exaggeration is passed as 0.0: the family ignores it for sampling and upstream warns about every non-zero value, once per chunk
This commit is contained in:
@@ -313,7 +313,11 @@
|
||||
1000,
|
||||
true,
|
||||
10,
|
||||
1
|
||||
1,
|
||||
true,
|
||||
400,
|
||||
"auto",
|
||||
100
|
||||
],
|
||||
"widgets_values_named": {
|
||||
"model_pack_name": "chatterbox",
|
||||
@@ -335,7 +339,11 @@
|
||||
"top_k": 1000,
|
||||
"normalize_loudness": true,
|
||||
"num_steps": 10,
|
||||
"cfg_scale": 1
|
||||
"cfg_scale": 1,
|
||||
"enable_chunking": true,
|
||||
"max_chars_per_chunk": 400,
|
||||
"chunk_combination_method": "auto",
|
||||
"silence_between_chunks_ms": 100
|
||||
},
|
||||
"color": "#232",
|
||||
"bgcolor": "#353"
|
||||
|
||||
Reference in New Issue
Block a user