Files
VoiceStudio/backend/config/models.yaml
T
Palash DebnathandClaude Opus 4.8 a94fc435a5 fix(asr): repoint two 404 ASR model repo IDs in catalog (closes #239) (#242)
* fix(asr): repoint two 404 ASR model repo IDs in catalog (closes #239)

Model install failed with HTTP 404 for two ASR entries whose Hugging Face
repos don't exist:
- UsefulSensors/moonshine-small -> UsefulSensors/moonshine-tiny (Moonshine
  ships tiny/base; there is no 300M 'small')
- Systran/faster-whisper-large-v3-turbo -> deepdml/faster-whisper-large-v3-turbo-ct2
  (Systran publishes no turbo repo; deepdml is a valid CTranslate2 build)

Audited all 25 catalog repo_ids — every one resolves 200 on HF after the swap.
Adds a static (no-network, CI-safe) regression test asserting repo_ids are
well-formed and the known-404 IDs can't reappear.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test/docs(asr): safer repo_id access + flag turbo repo as community build (PR #242 review)

- test_known_404_repo_ids_absent: m.get('repo_id','') so a missing field gives a
  clean assertion instead of KeyError regardless of test order.
- models.yaml: note the turbo entry is a community CTranslate2 conversion to
  re-verify on future audits (greptile).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 10:17:29 +05:30

189 lines
7.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ── OmniVoice Studio — Model Catalog ─────────────────────────────────────
#
# This file is the source of truth for all known HuggingFace models.
# The backend loads it at startup via `load_model_catalog()`.
#
# To add a model: append an entry with the fields below.
# To remove: delete the entry. The UI will stop showing it immediately.
#
# Fields:
# repo_id (required) — HuggingFace repository ID
# label (required) — Human-readable display name
# role (required) — TTS | ASR | Diarisation
# size_gb (required) — Approximate download size in GiB
# required (optional) — true if the app needs this model to function
# platforms (optional) — restrict to specific OS+arch tags (e.g. darwin-arm64, cuda)
# note (optional) — shown in the UI as a tooltip/footnote
# ─────────────────────────────────────────────────────────────────────────
models:
# ── Required ──────────────────────────────────────────────────────────
- repo_id: "k2-fsa/OmniVoice"
label: "OmniVoice TTS (600+ languages, zero-shot)"
role: TTS
size_gb: 2.4
required: true
- repo_id: "Systran/faster-whisper-large-v3"
label: "Whisper large-v3 (faster-whisper — default, cross-platform)"
role: ASR
size_gb: 2.9
required: true
# ── Optional ASR ──────────────────────────────────────────────────────
- repo_id: "mlx-community/whisper-large-v3-mlx"
label: "Whisper large-v3 (MLX — optional mac-ARM speedup)"
role: ASR
size_gb: 3.0
platforms: [darwin-arm64]
- repo_id: "mlx-community/whisper-large-v3-turbo"
label: "Whisper large-v3 Turbo (MLX — fastest dictation)"
role: ASR
size_gb: 1.6
platforms: [darwin-arm64]
note: "5× faster than large-v3, 0.8B params. Best for live dictation on Apple Silicon."
- repo_id: "openai/whisper-large-v3"
label: "Whisper large-v3 (PyTorch — last-resort fallback)"
role: ASR
size_gb: 3.1
platforms: [cuda]
- repo_id: "mlx-community/whisper-tiny-mlx"
label: "Whisper tiny (MLX ASR — fast fallback)"
role: ASR
size_gb: 0.08
platforms: [darwin-arm64]
- repo_id: "deepdml/faster-whisper-large-v3-turbo-ct2"
label: "Whisper large-v3 Turbo (5× faster, 0.8B)"
role: ASR
size_gb: 1.6
note: "Best speed/quality tradeoff. 5× faster than large-v3 with minimal WER loss. Community CTranslate2 conversion (no official Systran/OpenAI turbo repo) — re-verify availability on catalog audits."
- repo_id: "Systran/faster-distil-whisper-large-v3"
label: "Distil-Whisper large-v3 (distilled, fast)"
role: ASR
size_gb: 1.5
note: "Knowledge-distilled from large-v3. Good accuracy at higher speed."
- repo_id: "Systran/faster-whisper-medium"
label: "Whisper medium (balanced, lower VRAM)"
role: ASR
size_gb: 1.5
note: "Good balance of speed and accuracy. Half the VRAM of large-v3."
- repo_id: "Systran/faster-whisper-small"
label: "Whisper small (fast preview, low VRAM)"
role: ASR
size_gb: 0.5
note: "Quick previews and testing. ~2× faster than medium."
- repo_id: "Systran/faster-whisper-base"
label: "Whisper base (minimal, fastest Whisper)"
role: ASR
size_gb: 0.15
note: "Lowest accuracy but near-instant. Good for rapid iteration."
# ── Non-Whisper ASR (from Open ASR Leaderboard) ────────────────────────
- repo_id: "nvidia/parakeet-tdt-0.6b-v3"
label: "Parakeet TDT 0.6B v3 (NVIDIA — SOTA, 25+ langs)"
role: ASR
size_gb: 1.2
platforms: [cuda]
note: "Beats Whisper large-v3 on English benchmarks. Requires nemo_toolkit[asr]."
- repo_id: "nvidia/parakeet-tdt-0.6b-v2"
label: "Parakeet TDT 0.6B v2 (NVIDIA — English + punctuation)"
role: ASR
size_gb: 1.2
platforms: [cuda]
note: "English-optimized with punctuation/capitalization. Requires nemo_toolkit[asr]."
- repo_id: "UsefulSensors/moonshine-base"
label: "Moonshine base (edge-optimized, 61M, ONNX)"
role: ASR
size_gb: 0.12
note: "Variable-length processing, sub-200ms latency. Great for CPU/edge. Requires moonshine-onnx."
- repo_id: "UsefulSensors/moonshine-tiny"
label: "Moonshine tiny (edge-optimized, 27M, ONNX)"
role: ASR
size_gb: 0.05
note: "Smallest/fastest Moonshine, sub-200ms latency. Lower accuracy than base. Requires moonshine-onnx."
# ── Diarisation ───────────────────────────────────────────────────────
- repo_id: "pyannote/speaker-diarization-3.1"
label: "pyannote speaker diarisation (multi-speaker videos)"
role: Diarisation
size_gb: 0.8
note: "Needs an HF_TOKEN with license accepted."
# ── Optional TTS ──────────────────────────────────────────────────────
- repo_id: "OpenMOSS-Team/MOSS-TTS-Nano-100M"
label: "MOSS-TTS-Nano 100M (20 langs, CPU-realtime)"
role: TTS
size_gb: 0.4
- repo_id: "KittenML/kitten-tts-mini-0.8"
label: "KittenTTS (English, 8 preset voices, CPU realtime)"
role: TTS
size_gb: 0.08
# ── mlx-audio engines (Apple Silicon only) ────────────────────────────
- repo_id: "mlx-community/Kokoro-82M-bf16"
label: "Kokoro 82M (8 langs, small, mlx-audio default)"
role: TTS
size_gb: 0.15
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/csm-1b-8bit"
label: "CSM 1B (voice cloning, mlx-audio)"
role: TTS
size_gb: 1.1
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/Qwen3-TTS-12Hz-1.7B-VoiceDesign-4bit"
label: "Qwen3-TTS 1.7B 4bit (voice design, mlx-audio)"
role: TTS
size_gb: 1.4
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/Dia-1.6B"
label: "Dia 1.6B (expressive, mlx-audio)"
role: TTS
size_gb: 3.2
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/Llama-OuteTTS-1.0-1B-4bit"
label: "Llama-OuteTTS 1.0 1B 4bit (voice clone, mlx-audio)"
role: TTS
size_gb: 0.8
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/Chatterbox-TTS-4bit"
label: "Chatterbox TTS 4bit (mlx-audio)"
role: TTS
size_gb: 0.5
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]
- repo_id: "mlx-community/MeloTTS-English-v3-MLX"
label: "MeloTTS English v3 (mlx-audio)"
role: TTS
size_gb: 0.2
note: "Apple Silicon only — via mlx-audio backend."
platforms: [darwin-arm64]