{
  "updated": "2026-09-22",
  "scope": "TTS engines implemented in the local IndexTTS2 multi-model speech workstation",
  "selectionRule": "Choose by deliverable objective; no engine is presented as universally best.",
  "models": [
    {
      "id": "indextts-2.5",
      "name": "IndexTTS 2.5",
      "runtime": "MLX 8-bit",
      "sampleRateHz": 22050,
      "modes": ["voice-clone"],
      "inputs": ["target text", "authorized reference audio", "generation parameters"],
      "advantages": ["default stable local path", "efficient on Apple Silicon unified memory", "cached voice conditioning", "integrated chunking and partial-result preservation"],
      "disadvantages": ["no native eight-emotion vector in the current adapter", "long form still requires bounded chunks", "voice cache is model-version specific", "extreme inputs can require shorter guarded retries"],
      "bestFor": ["Chinese narration", "recurring voice projects", "long-form batch speech"]
    },
    {
      "id": "indextts-2.0",
      "name": "IndexTTS 2.0",
      "runtime": "MLX",
      "sampleRateHz": 22050,
      "modes": ["voice-clone", "native-emotion"],
      "emotions": ["happy", "sad", "angry", "afraid", "disgusted", "melancholic", "surprised", "calm"],
      "advantages": ["explicit emotion category", "independent emotion strength", "repeatable structured parameters"],
      "disadvantages": ["older engine path", "high emotion strength may reduce naturalness or similarity", "segment joins need post-processing consistency"],
      "bestFor": ["ads", "dramatic narration", "content requiring reproducible emotion settings"]
    },
    {
      "id": "omnivoice-mlx",
      "name": "OmniVoice MLX",
      "runtime": "MLX",
      "sampleRateHz": 24000,
      "modes": ["voice-clone", "voice-design", "automatic-voice"],
      "inputs": ["target text", "reference audio plus aligned transcript for clone", "voice description for design"],
      "advantages": ["three voice modes in one engine", "voice design without a reference clip", "whisper-like native expression", "local ASR fallback for missing reference text"],
      "disadvantages": ["clone quality depends on exact transcript alignment", "ASR adds latency and recognition error risk", "named emotion presets are approximations rather than native vectors", "upstream weight terms require separate review"],
      "bestFor": ["voice design", "rapid voice exploration", "clone/design/auto in one backend"]
    },
    {
      "id": "fish-audio-s2-pro",
      "name": "Fish Audio S2 Pro",
      "runtime": "MLX 8-bit",
      "sampleRateHz": 44100,
      "modes": ["voice-clone", "automatic-voice", "multi-speaker", "inline-expression"],
      "advantages": ["multi-speaker routing", "inline expression tags", "44.1 kHz output", "reference encoding cache"],
      "disadvantages": ["higher memory pressure", "long unbroken input risks token truncation", "speaker syntax must remain consistent", "commercial use requires the appropriate Fish Research License"],
      "bestFor": ["multi-role dialogue", "podcast-style content", "expression-tag-driven speech"],
      "license": "Fish Research License; obtain the appropriate commercial permission before commercial use"
    },
    {
      "id": "voicestudio-native-omnivoice",
      "name": "VoiceStudio native OmniVoice",
      "runtime": "PyTorch/MPS subprocess with CPU audio tokenizer",
      "sampleRateHz": 24000,
      "modes": ["voice-clone", "voice-design", "automatic-voice"],
      "advantages": ["native compatibility reference", "isolated dependency stack", "three operating modes", "subprocess failure isolation"],
      "disadvantages": ["heavier cold start and memory use", "audio tokenizer may run on CPU", "progress and cancellation cross a process boundary", "upstream license review remains required"],
      "bestFor": ["native engine validation", "MLX result comparison", "dependency-isolated deployment"]
    }
  ],
  "scale": {
    "singleWebUITaskProtectionCharacters": 100000,
    "projectWordCountCeiling": null,
    "projectPolicy": "Use book/chapter/section batches, model-safe punctuation-aware segments, per-segment checkpoints, narrow retries, and final assembly for 200,000 characters and larger projects."
  },
  "humanReadable": {"zh-CN": "/models/", "en": "/en/models/"}
}
