Skip to content

TTS Engine Comparison

Compare synthesis times and audio samples from the same test environment below.

  • Standard Prompt (used for Chatterbox Standard/Turbo/Nano, MOSS-TTS, CosyVoice 3, VoxCPM2, Qwen3-TTS):

    “Pain and pleasure are two sides of the same coin. Go on now… flip it. Either way, I’ll let you feel all of me.”

  • Fish Audio S2 Pro Prompt (tested with bracket expression tags):

    “Pain and pleasure are two sides of the same coin. [laughs] Go on now… flip it. [whispers] Either way, I’ll let you feel all of me.”

Timings report both full generation time (total wall-clock seconds from request to finished audio) and Real-Time Factor (RTF), defined as generation time divided by audio duration:

  • RTF < 1.0 (bold): The engine generates speech faster than real time (for example, 0.50× RTF renders a 10-second clip in 5 seconds). Only these engines could keep up with a live voice call, which TomoriBot does not implement today.
  • RTF > 1.0: Generation takes longer than the spoken audio. TomoriBot sends each voice message as a complete file, so a higher RTF only means a longer wait.
EngineWindows Native(1)
(RTX 4070 Ti SUPER)
Linux / WSL2macOS
(Apple Silicon)
Audio Sample
Fish Audio S2 Pro~8-10 min(2)
(~65× RTF)
UntestedUntested
Chatterbox (Turbo, Default)~5.0s (8.7s clip)
0.57× RTF
UntestedUntested
Chatterbox (Nano)~3.0s (8.0s clip)
0.38× RTF
UntestedUntested
Chatterbox (Standard)~6.0s (7.8s clip)
0.77× RTF
UntestedUntested
MOSS-TTS~12.0s (8.8s clip)
1.36× RTF
UntestedUntested
CosyVoice 3~6.0s (13.9s clip)
0.43× RTF
UntestedUntested
VoxCPM2~8.0s (7.4s clip)
1.09× RTF
UntestedUntested
Qwen3-TTS~10.0s (9.2s clip)
1.09× RTF
UntestedUntested
  • (1) Test Environment: NVIDIA GeForce RTX 4070 Ti SUPER (16 GB GDDR6X, Ada Lovelace) on Windows 11 (native execution) using a 26.6-second 24 kHz mono reference audio sample with matching verbatim transcript.
  • (2) Fish Audio S2 Pro: Windows execution runs in uncompiled eager mode (~65× RTF) due to CUDA kernel launch latency across its 76 layer evaluations per token. Running on Linux or WSL2 with OpenAI Triton compiler fusion (torch.compile) is recommended to avoid this dispatch stall.

「そんな顔して……ほんとは私にやられたいんでしょ?ざぁこざぁこ~♡」

EngineWindows Native(1)
(RTX 4070 Ti SUPER)
Linux / WSL2macOS
(Apple Silicon)
Audio Sample
IrodoriTTS~4.0s (8.5s clip)
0.47× RTF
UntestedUntested
  • (1) Measured in the same RTX 4070 Ti SUPER Windows 11 test environment.

TomoriBot returns complete WAV files. Model sizes count parameters; GPU memory figures are setup guidance. Timings above are from one Windows machine.

Reference lengths include upstream recommendations and runtime limits. Check each engine guide for details.

EngineModel size; 16 GB GPULanguagesReference clipVoice sources and controlsSpeed / streaming pathChoose it for
Chatterbox350M Turbo (default), 110M Nano, or 500M Standard; yes, Nano can use CPUEnglish10 seconds; longer is silently ignored past the 10 s prompt windowReference cloning, supported event tags; standard model offers CFG/exaggerationFast/small focus; wrapper returns full WAVSmall English clone setup or CPU experiments
Qwen3-TTS1.7B per mode; yes, models swap10, including English/JapaneseFrom 3 seconds; no documented capClone or text-described VoiceDesignQuality-focused; upstream streaming, wrapper buffersGeneral-purpose multilingual clone and Japanese VoiceDesign
MOSS-TTS4B clone + ~1.7B design, swapped; 16 GB is an unverified trial target; 8B flagship likely noClone: 31, including Japanese; design: English/ChineseNot documented upstream; no runtime capClone or text-described VoiceGenerator; clone language tagsExperimental; Local clone has upstream streaming backend, wrapper buffersCompare MOSS clone quality or English/Chinese voice design
IrodoriTTS~0.8B current v4.1 Small; ~3-4 GB VRAM observed in one local runJapanese only~30 seconds; trimmed at the checkpoint’s 120 s capClone or VoiceDesign; emoji style cuesSampling steps trade quality for speed; wrapper buffersSmall-footprint Japanese voices and emoji-driven delivery
Fish S2 Pro4B; official BF16 default (~16-18 GB), optional INT8 for 16 GB83 claimed upstream10-30 seconds; no runtime capReference cloning (requires ref transcript), free-form bracket expression tagsHeavy Dual-AR model; requires Linux/WSL2 with Triton for fast synthesis (~65× RTF on Windows eager mode)Fine-grained expressive cloning; check research-license terms
VoxCPM22B; ~8 GB BF16 reported upstream305-30 seconds; documented range, no runtime capClone, Voice Design, transcript-assisted Ultimate Cloning, delivery instructions~0.30 RTF on upstream RTX 4090; upstream streaming, wrapper buffersOne multilingual model with the broadest voice-source controls
CosyVoice 30.5B core; 16 GB comfortable, download/runtime larger9, including Japanese, plus Chinese dialects3-30 seconds; longer is trimmed to the first 30 sClone, cross-lingual clone, natural-language deliveryLow-latency focus; native text/audio streaming upstream, wrapper buffersA future streaming candidate with cross-lingual cloning

Model size and language counts follow the Chatterbox, Qwen3-TTS, MOSS, Irodori, Fish S2 Pro, VoxCPM2, and CosyVoice 3 upstream pages. Check each guide for OS, driver, license, model revision, and memory details. A 16 GB GPU cannot necessarily host a TTS model and a large local LLM simultaneously.

The first Qwen3-TTS auto request includes model loading. MOSS pre-downloads both models during setup and warms the clone model at startup by default, but either auto server still has to load the other model after a mode switch. TomoriBot waits up to TTS_SYNTHESIZE_TIMEOUT_MS (default 240000 ms) for each complete response.