docs: fix emoji encoding and update IndexTTS-2 size
- Fix: Insert Zero Width Non-Joiner between flag emojis in tables to prevent ligatures - Update: Set IndexTTS-2 model size to ~4.7GB in YAML and Tables
This commit is contained in:
@@ -25,21 +25,19 @@ A comprehensive ComfyUI extension providing unified Text-to-Speech, Voice Conver
|
||||
|
||||
| Engine | Languages | Size | Key Features |
|
||||
|--------|-----------|------|--------------|
|
||||
| **F5-TTS** | 🇺🇸🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵 +4 | ~1.2GB each | Targeted Word/Speech Editing, Speed control |
|
||||
| **ChatterBox** | 🇺🇸🇩🇪🇫🇷🇮🇹🇯🇵🇰🇷 +4 | ~4.3GB | Expressiveness slider |
|
||||
| **F5-TTS** | 🇺🇸🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵 +4 | ~1.2GB each | Targeted Word/Speech Editing, Speed control |
|
||||
| **ChatterBox** | 🇺🇸🇩🇪🇫🇷🇮🇹🇯🇵🇰🇷 +4 | ~4.3GB | Expressiveness slider |
|
||||
| **ChatterBox 23L** | 🌐 24 languages | ~4.3GB | 24 languages in single model, emotion tokens (v2 - doesn't work) |
|
||||
| **VibeVoice** | 🇺🇸🇨🇳�🇪🇪🇸🇫🇷�🇮� +21 | 5.4GB / 18GB | 90-min long-form, Native 4-speaker (Base models) |
|
||||
| **Higgs Audio 2** | 🇺🇸🇨🇳🇩🇪🇪🇸🇰🇷 | ~9GB | 3 multi-speaker, CUDA graphs (55+ tokens/sec) |
|
||||
| **IndexTTS-2** | 🇺🇸🇨🇳🇯🇵 | ? | Emotion Control: 8 vectors, Text as reference |
|
||||
| **CosyVoice3** | 🇺🇸🇨🇳🇯🇵🇰🇷 | ~5.4GB | Paralinguistic tags |
|
||||
| **Qwen3-TTS** | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹 +4 | ~3-6GB | Voice design, ASR (Automatic Speech Recognition) |
|
||||
| **Step Audio EditX** | 🇺🇸🇨🇳🇯🇵🇰🇷 | ~7GB | Second Pass Speech Editing Node: 14 emotions, 32 speaking styles |
|
||||
| **VibeVoice** | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹 +21 | 5.4GB / 18GB | 90-min long-form, Native 4-speaker (Base models) |
|
||||
| **Higgs Audio 2** | 🇺🇸🇨🇳🇩🇪🇪🇸🇰🇷 | ~9GB | 3 multi-speaker, CUDA graphs (55+ tokens/sec) |
|
||||
| **IndexTTS-2** | 🇺🇸🇨🇳🇯🇵 | ~4.7GB | Emotion Control: 8 vectors, Text as reference |
|
||||
| **CosyVoice3** | 🇺🇸🇨🇳🇯🇵🇰🇷 | ~5.4GB | Paralinguistic tags |
|
||||
| **Qwen3-TTS** | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹 +4 | ~3-6GB | Voice design, ASR (Automatic Speech Recognition) |
|
||||
| **Step Audio EditX** | 🇺🇸🇨🇳🇯🇵🇰🇷 | ~7GB | Second Pass Speech Editing Node: 14 emotions, 32 speaking styles |
|
||||
| **RVC** | 🌐 Any | 100-300MB | Real-time VC, Pitch shift (±14) |
|
||||
|
||||
|
||||
📊 **[Full comparison tables →](docs/ENGINE_COMPARISON.md)** | **[Language matrix →](docs/LANGUAGE_SUPPORT.md)** | **[Feature matrix →](docs/FEATURE_COMPARISON.md)**
|
||||
|
||||
*Note: These tables are generated automatically from source: [tts_audio_suite_engines.yaml](docs/Dev%20reports/tts_audio_suite_engines.yaml)*
|
||||
<!-- ENGINE_COMPARISON_END -->
|
||||
|
||||
## 🚀 Project Evolution Timeline
|
||||
|
||||
@@ -281,7 +281,7 @@ engines:
|
||||
- id: indextts-2
|
||||
name: IndexTTS-2
|
||||
models: "IndexTTS-2"
|
||||
size: "?"
|
||||
size: "~4.7GB"
|
||||
|
||||
capabilities:
|
||||
tts: true
|
||||
|
||||
+10
-10
@@ -4,13 +4,13 @@
|
||||
|
||||
| Engine | Models | Size | TTS | SRT | VC | ASR | Special Features | Languages |
|
||||
| ------------------ | ----------------------------------------- | ------------ | --- | --- | --- | --- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| **F5-TTS** | Base, v1, E2TTS + 8 lang models | ~1.2GB each | ✅ | ✅ | ❌ | ❌ | Targeted Word/Speech Editing, Speed control | 🇺🇸🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇧🇷🇵🇱🇮🇳🇹🇭 |
|
||||
| **ChatterBox** | EN, DE×3, IT, FR, RU, HY, KA, JA, KO, NO | ~4.3GB | ✅ | ✅ | ✅ | ❌ | Expressiveness slider | 🇺🇸🇩🇪🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇳🇴🇦🇲🇬🇪 |
|
||||
| **ChatterBox 23L** | v1, v2, Vietnamese (Viterbox) | ~4.3GB | ✅ | ✅ | ✅ | ❌ | 24 languages in single model, emotion tokens (v2 - doesn't work) | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇵🇹🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪(+9) |
|
||||
| **VibeVoice** | 1.5B, 7B, KugelAudio-0 (7B), Hindi-1.5B/7B | 5.4GB / 18GB | ✅ | ✅ | ❌ | ❌ | 90-min long-form, Native 4-speaker (Base models), Multilingual (KugelAudio), 4-bit quantization | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇧🇷🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇦🇲🇬🇪🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪 |
|
||||
| **Higgs Audio 2** | 3B | ~9GB | ✅ | ✅ | ❌ | ❌ | 3 multi-speaker, CUDA graphs (55+ tokens/sec) | 🇺🇸🇨🇳🇩🇪🇪🇸🇰🇷 |
|
||||
| **IndexTTS-2** | IndexTTS-2 | ? | ✅ | ✅ | ❌ | ❌ | Emotion Control: 8 vectors, Text as reference, Audio as reference | 🇺🇸🇨🇳🇯🇵 |
|
||||
| **CosyVoice3** | 0.5B, 0.5B-RL | ~5.4GB | ✅ | ✅ | ✅ | ❌ | Paralinguistic tags | 🇺🇸🇨🇳🇯🇵🇰🇷 |
|
||||
| **Qwen3-TTS** | 0.6B, 1.7B (CustomVoice/VoiceDesign/Base) | ~3-6GB | ✅ | ✅ | ❌ | ✅ | Voice design, ASR (Automatic Speech Recognition) | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇵🇹 |
|
||||
| **Step Audio EditX** | 3B LLM + CosyVoice | ~7GB | ✅ | ✅ | ❌ | ❌ | Second Pass Speech Editing Node: 14 emotions, 32 speaking styles, Paralinguistic effects | 🇺🇸🇨🇳🇯🇵🇰🇷 |
|
||||
| **RVC** | Community .pth | 100-300MB | ❌ | ❌ | ✅ | ❌ | Real-time VC, Pitch shift (±14), 6 HuBERT models, Language-independent | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇧🇷🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇦🇲🇬🇪🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪 |
|
||||
| **F5-TTS** | Base, v1, E2TTS + 8 lang models | ~1.2GB each | ✅ | ✅ | ❌ | ❌ | Targeted Word/Speech Editing, Speed control | 🇺🇸🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇧🇷🇵🇱🇮🇳🇹🇭 |
|
||||
| **ChatterBox** | EN, DE×3, IT, FR, RU, HY, KA, JA, KO, NO | ~4.3GB | ✅ | ✅ | ✅ | ❌ | Expressiveness slider | 🇺🇸🇩🇪🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇳🇴🇦🇲🇬🇪 |
|
||||
| **ChatterBox 23L** | v1, v2, Vietnamese (Viterbox) | ~4.3GB | ✅ | ✅ | ✅ | ❌ | 24 languages in single model, emotion tokens (v2 - doesn't work) | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇵🇹🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪(+9) |
|
||||
| **VibeVoice** | 1.5B, 7B, KugelAudio-0 (7B), Hindi-1.5B/7B | 5.4GB / 18GB | ✅ | ✅ | ❌ | ❌ | 90-min long-form, Native 4-speaker (Base models), Multilingual (KugelAudio), 4-bit quantization | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇧🇷🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇦🇲🇬🇪🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪 |
|
||||
| **Higgs Audio 2** | 3B | ~9GB | ✅ | ✅ | ❌ | ❌ | 3 multi-speaker, CUDA graphs (55+ tokens/sec) | 🇺🇸🇨🇳🇩🇪🇪🇸🇰🇷 |
|
||||
| **IndexTTS-2** | IndexTTS-2 | ~4.7GB | ✅ | ✅ | ❌ | ❌ | Emotion Control: 8 vectors, Text as reference, Audio as reference | 🇺🇸🇨🇳🇯🇵 |
|
||||
| **CosyVoice3** | 0.5B, 0.5B-RL | ~5.4GB | ✅ | ✅ | ✅ | ❌ | Paralinguistic tags | 🇺🇸🇨🇳🇯🇵🇰🇷 |
|
||||
| **Qwen3-TTS** | 0.6B, 1.7B (CustomVoice/VoiceDesign/Base) | ~3-6GB | ✅ | ✅ | ❌ | ✅ | Voice design, ASR (Automatic Speech Recognition) | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇵🇹 |
|
||||
| **Step Audio EditX** | 3B LLM + CosyVoice | ~7GB | ✅ | ✅ | ❌ | ❌ | Second Pass Speech Editing Node: 14 emotions, 32 speaking styles, Paralinguistic effects | 🇺🇸🇨🇳🇯🇵🇰🇷 |
|
||||
| **RVC** | Community .pth | 100-300MB | ❌ | ❌ | ✅ | ❌ | Real-time VC, Pitch shift (±14), 6 HuBERT models, Language-independent | 🇺🇸🇨🇳🇩🇪🇪🇸🇫🇷🇮🇹🇯🇵🇰🇷🇷🇺🇧🇷🇵🇱🇮🇳🇦🇪🇹🇷🇹🇭🇳🇴🇻🇳🇦🇲🇬🇪🇩🇰🇫🇮🇬🇷🇮🇱🇲🇾🇳🇱🇸🇪🇰🇪 |
|
||||
@@ -48,12 +48,13 @@ def generate_engine_comparison(data):
|
||||
output.append("")
|
||||
output.append("## Engine Comparison")
|
||||
output.append("")
|
||||
output.append("| Engine | Models | Size | TTS | SRT | VC | ASR | Special Features | Languages |")
|
||||
output.append("| ------------------ | ----------------------------------------- | ------------ | --- | --- | --- | --- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |")
|
||||
output.append("| Engine | Models | Size | TTS | SRT | VC | ASR | Special Features | Languages |")
|
||||
output.append("| ------------------ | ----------------------------------------- | ------------ | --- | --- | --- | --- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |")
|
||||
|
||||
for e in engines:
|
||||
# Extract flags from languages
|
||||
flags = "".join(
|
||||
# Use Zero Width Space to prevent flag ligature issues
|
||||
flags = "\u200B".join(
|
||||
lang_data["flag"]
|
||||
for lang_data in e["languages"].values()
|
||||
if lang_data["supported"]
|
||||
@@ -72,11 +73,11 @@ def generate_engine_comparison(data):
|
||||
e["size"].ljust(12),
|
||||
format_support(e["capabilities"]["tts"]),
|
||||
format_support(e["capabilities"]["srt"]),
|
||||
format_support(e["capabilities"]["vc"]),
|
||||
format_support(e["capabilities"]["asr"]),
|
||||
features.ljust(88),
|
||||
flags.ljust(88)
|
||||
]
|
||||
format_support(e["capabilities"]["vc"]),
|
||||
format_support(e["capabilities"]["asr"]),
|
||||
features.ljust(88),
|
||||
flags.ljust(88)
|
||||
]
|
||||
|
||||
output.append("| " + " | ".join(row) + " |")
|
||||
|
||||
@@ -106,7 +107,7 @@ def generate_readme_condensed_table(data):
|
||||
if count >= 6: # Limit to 6 flags for readability
|
||||
break
|
||||
|
||||
lang_display = "".join(flags)
|
||||
lang_display = "\u200B".join(flags)
|
||||
|
||||
# Special handling for ChatterBox 23L
|
||||
if e["id"] == "chatterbox-23l":
|
||||
|
||||
Reference in New Issue
Block a user