[Feat] Streaming TTS word-level timestamps via forced aligner (#4034)

Signed-off-by: wjinxu <1299461899@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
authored and GitHub committed 2026-06-22 04:51:45 +00:00
1 parent a60242092a
commit ad07f98b73
17 files changed
+2162 -20

No files matched your search

+23
View File
@@ -216,6 +216,29 @@ class OmniServeCommand(CLISubcommand):
help="Default task type for TTS models (CustomVoice, VoiceDesign, or Base). "
"If not specified, will be inferred from model path.",
)
# Forced aligner / word timestamps. --forced-aligner is the opt-in
# toggle; heavier knobs (gpu_memory_utilization, dtype, max_model_len)
# live in the deploy YAML passed via --forced-aligner-config.
omni_config_group.add_argument(
"--forced-aligner",
type=str,
default=None,
help=(
"Enable streaming TTS word timestamps via a forced aligner. "
"Pass the aligner model path/name, e.g. 'Qwen/Qwen3-ForcedAligner-0.6B'. "
"Disabled when omitted."
),
)
omni_config_group.add_argument(
"--forced-aligner-config",
type=str,
default=None,
help=(
"Optional YAML file for forced aligner settings (model, runner, "
"gpu_memory_utilization, dtype, max_model_len). The --forced-aligner "
"flag, when set, overrides the YAML model field."
),
)
# TODO(@lishunyang12): deprecate once all models migrate to --deploy-config
omni_config_group.add_argument(
"--stage-configs-path",