Decision table
Select by deliverable, then tune the parameters.
| Goal | First candidate | Strength | Trade-off |
|---|---|---|---|
| Stable Chinese long form | IndexTTS 2.5 | Default MLX 8-bit path with cached conditioning | No native eight-emotion vector in this adapter |
| Explicit emotion category | IndexTTS 2.0 | Emotion type and strength are separate | Older engine; benchmark on target hardware |
| Text-described voice | OmniVoice MLX | Clone, design, and automatic modes | Cloning depends on an aligned transcript |
| Multiple roles and tags | Fish Audio S2 Pro | Speaker mapping, inline expression, 44.1 kHz | Higher memory and licensing requirements |
| Native engine validation | VoiceStudio | PyTorch/MPS reference path | Heavier runtime and subprocess coordination |
Engine 01
IndexTTS 2.5 / MLX 8-bit
The default path accepts target text and reference audio, creates model-specific voice conditioning, caches it, and emits 22,050 Hz audio.
text + reference_audio → condition → waveformWAV / MP3 / FLACStrengths
- Efficient fit for Apple Silicon unified memory.
- Short, reliable path for Chinese narration.
- Conditioning cache helps recurring voices.
- Integrated chunking, progress, cancellation, and partial results.
Limitations
- No native IndexTTS 2.0 eight-emotion vector in this adapter.
- Long form still requires chunks; project scale is not one unbounded inference.
- Caches are model-version specific.
- Extreme inputs can require shorter guarded retries.
Engine 02
IndexTTS 2.0 / MLX
The explicit emotion route combines text and a reference voice with one of eight categories plus an independent strength value.
text + audio + emotion + strength → waveformhappy, sad, angry, afraid, disgusted, melancholic, surprised, calmStrengths
- Structured and repeatable emotion parameters.
- Useful for ads, drama, and emphasized narration.
- Shares the workstation voice library and export pipeline.
Limitations
- Quality and speed must be sampled rather than inferred from version numbers.
- High emotion strength may reduce naturalness or similarity.
- Chunk joins need consistent loudness and pauses.
Engine 03
OmniVoice / MLX
One backend supports cloning, text-described voice design, and automatic voice. Clone mode pairs reference audio with a word-aligned transcript; local ASR can produce a draft when absent.
clone: text + audio + transcriptdesign: text + voice_description24,000 HzStrengths
- Three voice modes in one engine.
- Voice design works without reference audio.
- Expression presets include whisper-like delivery.
- Local ASR reduces missing-input friction.
Limitations
- Transcript mistakes directly affect clone conditioning.
- Natural-language styles are less deterministic than numeric vectors.
- ASR adds latency and recognition risk.
- Upstream weight terms require use-case review.
Engine 04
Fish Audio S2 Pro / MLX 8-bit
The expressive multi-speaker route caches reference encodings, splits long scripts at punctuation into roughly 60-character safe units, and merges 44,100 Hz output.
text/tags + reference + speaker_map → chunks → waveform44,100 HzStrengths
- Multi-speaker, automatic, and reference-clone modes.
- Inline expression tags and speaker routing.
- Higher output sample rate for downstream production.
- Cached references suit episodic work.
Limitations
- Greater memory pressure and device-dependent speed.
- Long unbroken inputs risk token truncation.
- Role syntax and names must remain consistent.
- Commercial use requires the appropriate Fish Research License.
Engine 05
VoiceStudio native OmniVoice / PyTorch MPS
The native compatibility path runs in an isolated subprocess. The workstation owns inputs, state, and outputs while the subprocess owns the heavier model lifecycle.
job.json → subprocess → progress/result.json → audioclone / design / autoStrengths
- Reference path for comparing the MLX adaptation.
- Dependency and failure isolation.
- All three OmniVoice modes retained.
- Subprocess failure does not erase the main UI state.
Limitations
- Heavier startup and memory footprint.
- The audio tokenizer may run on CPU.
- Progress, cancellation, and cleanup cross a process boundary.
- Upstream licensing still requires review.
Long-form scale
100,000 or 200,000 characters is a job-orchestration problem, not one unlimited inference.
- Create stable IDs for books, chapters, sections, and batches.
- Split each batch at punctuation within the safe length of the selected model.
- Record text hash, engine, voice, parameters, output path, and status per segment.
- Retry only failed segments and resume from checkpoints.
- Normalize sample rate, loudness, silence, and naming before chapter or full-project assembly.
- Audit missing, duplicated, or out-of-order segments and spot-check listening quality.
Documented boundary: the current WebUI protects a single task at 100,000 characters. Larger projects, including 200,000 characters and beyond, are delivered through chapter batches and queues without a fixed business-level word-count ceiling.
Machine retrieval
Contact
Last reviewed . Commercial inquiries: wangdexin2008@126.com.