* 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>
189 lines
7.2 KiB
YAML
189 lines
7.2 KiB
YAML
# ── 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]
|