aboutsummaryrefslogtreecommitdiff
path: root/app/backends/sglomni/catalog.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/backends/sglomni/catalog.py')
-rw-r--r--app/backends/sglomni/catalog.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/backends/sglomni/catalog.py b/app/backends/sglomni/catalog.py
index f20509f..8bfb1fa 100644
--- a/app/backends/sglomni/catalog.py
+++ b/app/backends/sglomni/catalog.py
@@ -52,6 +52,11 @@ class ModelEntry:
system_hint: Optional[str] = None # remediation when the binary is absent
speakers: Optional[Tuple[str, ...]] = None # preset voices (speaker)
supports_seed: bool = False # request-scoped seed accepted (Qwen3-TTS Base)
+ # NOTE(unverified upstream): only the two Base entries are known to
+ # accept a request-scoped seed (Voxtral rejects one outright); qwen's
+ # demo client does send seeds to the CustomVoice/VoiceDesign models,
+ # so those pipelines may accept one too — verify before flipping the
+ # flag (CONSTANT_SEED currently no-ops for every other entry).
notes: str = "" # one-line description (documentation)
# The model's DEFAULT pipeline dynamically quantizes its MoE experts to
# FP8 at load time (sglang-omni's zonos2 config hardcodes it) — a Triton
@@ -103,6 +108,12 @@ _QWEN_EXTRAS: Tuple[Extra, ...] = (
("sox", True), ("einops", True), ("qwen-tts==0.1.1", True))
_SOX_HINT = ("install the sox system package (e.g. sudo pacman -S sox, "
"sudo apt install sox, brew install sox)")
+# The Fish Audio and ZONOS2 pipelines decode their codec assets through
+# the ffmpeg binary (and the client concatenates multi-part chunks with
+# it); the weights download fine without it, the server just fails to
+# synthesize — so the install flow warns, like it does for sox.
+_FFMPEG_HINT = ("install the ffmpeg system package (e.g. sudo pacman -S "
+ "ffmpeg, sudo apt install ffmpeg, brew install ffmpeg)")
# The Fish Audio and ZONOS2 pipelines use the Descript DAC codec, which
# upstream installs WITH dependencies — but descript-audiotools carries a
# vestigial 2021-era pin, protobuf<3.20 (its code never imports protobuf),
@@ -255,6 +266,7 @@ ENTRIES: Tuple[ModelEntry, ...] = (
capability=CAPABILITY_CLONE,
requires_reference=False,
extras=_DAC_EXTRAS,
+ system_dep="ffmpeg", system_hint=_FFMPEG_HINT,
notes="zero-shot narration or cloning from a reference clip",
),
ModelEntry(
@@ -265,6 +277,7 @@ ENTRIES: Tuple[ModelEntry, ...] = (
capability=CAPABILITY_CLONE,
requires_reference=True,
extras=_DAC_EXTRAS,
+ system_dep="ffmpeg", system_hint=_FFMPEG_HINT,
notes="voice cloning, 44.1 kHz DAC vocoder",
fp8_moe=True,
fp8_min_compute_capability=(8, 9),