Ein Modell namens „Tiny“ klingt normalerweise nach der unkomplizierten Wahl für den lokalen Betrieb. Bei Ming-3.0-TTS ist es genau andersherum: Für den Einstieg empfiehlt sich der dichte 0.5B-Checkpoint. Tiny lohnt sich vor allem dann, wenn die Erzeugung von Podcasts mit mehreren Sprecherinnen und Sprechern zwingend erforderlich ist. Der Haken: Bei der Hardware fehlen belastbare Daten für typische Consumer-GPUs – InclusionAI dokumentiert Tests mit H800 und H20, aber keine Mindestanforderung für Grafikkarten aus dem Endkundenbereich.
Vor der Umgebung den passenden Checkpoint wählen
Ming-3.0-TTS gibt es mit zwei Checkpoints, die sich bei Backbone, Abhängigkeiten und Einstiegspunkten unterscheiden. Für die erste Installation ist das 0.5B-Modell die vernünftige Wahl. Tiny rechtfertigt seinen größeren Footprint, wenn Sprecherähnlichkeit oder Dialoge mit mehreren Stimmen wichtiger sind als eine möglichst einfache Bereitstellung.
| Entscheidungspunkt | Ming-3.0-tts-0.5B | Ming-3.0-tts-tiny |
|---|---|---|
| Architektur | Dichter Qwen2.5-0.5B-Backbone | Ling V3 MoE, insgesamt 7.9B / 1.3B aktiv |
| Offizielle API-Klasse | ming_tts.MingTTS | ming_tiny.MingTinyTTS |
| Wichtigste CLI | infer.py | infer_tiny.py und One-Click-Skripte |
| Referenzumgebung | PyTorch 2.6, CUDA 12.4 | Python 3.10.15, PyTorch 2.7.1+cu118 |
| Dokumentierte Hardware | H800-80GB und H20-96G getestet | H800 empfohlen |
| Exklusiver Grund für die Wahl | Kleinerer dichter Checkpoint; bessere Koreanisch- und Basic-Control-Genauigkeit in den Anbieter-Tests | Podcast-Modus mit mehreren Sprechern; bessere chinesische/englische Sprecherähnlichkeit in den Anbieter-Tests |
| Veröffentlichte Größe des Checkpoints | Etwa 2.96 GB laut dem von OrcaRouter gemeldeten Dateivergleich | Etwa 18 GB auf Hugging Face |
Beide Checkpoints erzeugen Audio mit 44.1 kHz, unterstützen sieben Sprachen und verwenden separate Aufgabenmodi für Voice Cloning, Voice Design, Emotionen, Dialekte und weitere Steuerungen. Das offizielle Repository veröffentlicht beide Modelle unter der MIT-Lizenz und weist darauf hin, dass Tiny wegen seiner abweichenden, festgelegten Abhängigkeiten eine eigene Umgebung benötigt.
„Tiny“ bezieht sich auf die aktive MoE-Rechenleistung, nicht auf die Größe der gespeicherten Gewichte. Die Modellkarte von Tiny nennt 7.9B Parameter im Backbone, etwa 1.3B aktive Parameter pro Token und ein Repository mit ungefähr 18 GB.
Lokale Einrichtung: vom Klonen bis zum geprüften Checkpoint
Wer Ming-3.0-TTS zuverlässig lokal betreiben will, hält die beiden Modelle in getrennten Umgebungen. Den offiziellen Code klont man einmal, installiert anschließend nur die Abhängigkeiten des gewünschten Checkpoints, lädt dessen Gewichte herunter und führt vor dem Laden des Modells das passende Preflight-Skript aus.
Die 0.5B-Umgebung installieren
Der grundlegende Weg über das Repository ist kurz:
git clone https://github.com/inclusionAI/Ming-3.0-tts.git
cd Ming-3.0-tts
conda create -n ming-tts python=3.10 -y
conda activate ming-tts
pip install -r requirements.txt
Die Modellkarte des 0.5B-Checkpoints nennt PyTorch 2.6, CUDA 12.4 und transformers==4.46.3 als Referenzsetup. FlashAttention ist optional; als Fallback kommt PyTorch SDPA zum Einsatz. Das sorgt für Kompatibilität, allerdings veröffentlicht das Projekt keinen Geschwindigkeitsvergleich für diesen Fallback.
Für Zahlen, Datumsangaben, Einheiten und Symbole wird die FST-Textnormalisierung verwendet. Die festgelegte Pynini-Version lässt sich über Conda installieren:
conda install -c conda-forge pynini==2.1.6
Für pynini gibt es kein universell passendes Wheel. Mit --no_text_normalization lässt sich die Abhängigkeit umgehen. Dann gelangen Abkürzungen, Datumsangaben, Zahlen und Symbole jedoch unverändert an den Synthesizer – als Fehlersuchoption ist das sinnvoll, als Standard für den Produktivbetrieb nicht.
Tiny in einer separaten Umgebung installieren
Tiny sollte nicht über die 0.5B-Umgebung installiert werden. Das offizielle Setup setzt Python 3.10.15, CUDA-11.8-Wheels, PyTorch und torchaudio 2.7.1 sowie transformers==4.46.3 voraus:
conda create -n ming-tiny python=3.10.15 -y
conda activate ming-tiny
pip install -r requirements-tiny.txt
Tiny arbeitet mit BF16-Berechnungen, einer portablen MoE-Schleife und einem rekurrenten Zustand in FP32. InclusionAI empfiehlt eine NVIDIA H800. Für CPU, Apple Silicon, GGUF oder llama.cpp gibt es in der Dokumentation keinen unterstützten Weg.
Beide Checkpoints herunterladen und prüfen
Mit der Hugging-Face-CLI lassen sich die Gewichte in einem vorhersehbaren lokalen Verzeichnis ablegen:
pip install "huggingface_hub[cli]"
hf download inclusionAI/Ming-3.0-tts-0.5B \
--local-dir Ming-3.0-tts-0.5b
python tools/preflight.py --model_path Ming-3.0-tts-0.5b
Für Tiny muss die Modell-ID ersetzt und der eigene Prüflauf gestartet werden:
hf download inclusionAI/Ming-3.0-tts-tiny \
--local-dir Ming-3.0-tts-tiny
python tools/preflight_tiny.py --model_path Ming-3.0-tts-tiny
Die Preflight-Skripte prüfen die Struktur von Checkpoint und Tokenizer, ohne die Gewichte zu laden. Nutzerinnen und Nutzer in Festlandchina können stattdessen den im Projekt-README dokumentierten ModelScope-Befehl verwenden.
Erst eine Datei erzeugen, dann einen Server aufsetzen
Der erste sinnvolle Funktionstest ist eine einzelne WAV-Datei über die Repository-CLI. Beim Voice Cloning mit 0.5B werden Zieltext, Referenz-WAV, das exakte Transkript und --use_spk_emb benötigt. Das Transkript ist Teil der Konditionierung und keine optionale Zusatzinformation.
python infer.py \
--model_path Ming-3.0-tts-0.5b \
--task TTS \
--language_id English \
--text "The release candidate passed every audio check." \
--prompt_wav_path reference.wav \
--prompt_text "This is the exact speech in the reference recording." \
--use_spk_emb \
--output output/first.wav
Das Ergebnis sollte eine WAV-Datei mit 44.1 kHz sein. Wenn die Checkpoint-Prüfung erfolgreich war, dieser Befehl aber scheitert, sollten zunächst CUDA-/PyTorch-Kompatibilität und die Referenzdatei untersucht werden – bevor eine Benutzeroberfläche oder zusätzliche Serverschicht ins Spiel kommt. Die Hugging-Face-Repositories stellen die Checkpoints bereit; beide Modellkarten weisen darauf hin, dass für die praktische Inferenz das separate GitHub-Repository erforderlich ist.
Die Referenzaufnahme sollte sauber sein und ihr Transkript exakt wiedergeben. Die offiziellen Dokumente nennen keine ideale Länge für die Referenz. Eine nicht dokumentierte Faustregel sollte daher nicht zur harten Validierungsanforderung gemacht werden.
Ming-3.0-TTS über einen gemeinsamen Sprachendpunkt bereitstellen
SGLang-Omni kann beide Checkpoints über POST /v1/audio/speech auf einer GPU bereitstellen. Das SGLang-Kochbuch für Ming-3.0-TTS verlagert die Vorverarbeitung auf die CPU; Backbone und AudioVAE-Decoder laufen auf derselben GPU.
Einen Checkpoint starten:
sgl-omni serve --model-path inclusionAI/Ming-3.0-tts-0.5B
Anschließend eine WAV-Datei anfordern:
curl http://127.0.0.1:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "inclusionAI/Ming-3.0-tts-0.5B",
"input": "The local speech endpoint is ready.",
"response_format": "wav",
"seed": 123
}' \
--output speech.wav
Der Endpunkt akzeptiert wav, mp3, flac und pcm; WAV ist das Standardformat. Eine leere Eingabe führt zu HTTP 400. Das Feld model muss mit dem Checkpoint übereinstimmen, mit dem der Server gestartet wurde.
Die Wiedergabe sollte nicht auf Streaming im Stil einer Token-Ausgabe ausgelegt werden. Laut SGLang-Kochbuch wartet stream=true weiterhin, bis die Generierung abgeschlossen ist, und liefert anschließend einen vollständigen PCM-Response-Body zurück. Für das Cloning wird außerdem nur eine Referenzaufnahme akzeptiert; eine zweite wird abgewiesen.
Steuerungen sind Aufgabenmodi – keine beliebig kombinierbaren Flags
Die Steuerungen von Ming-3.0-TTS sind voneinander getrennte Aufgabenkontrakte. Statt alle verfügbaren Optionen in einer Anfrage zu kombinieren, sollte der Modus gewählt werden, der zum gewünschten Ergebnis passt.
| Ziel | 0.5B-Aufgabe | Tiny-Aufgabe | Wichtige Eingaberegel |
|---|---|---|---|
| Eine Stimme klonen | TTS | seed | Referenz-Audio plus exaktes Transkript |
| Deutsch, Spanisch, Französisch, Koreanisch oder Japanisch | MULTILINGUAL | multilingual | Referenz und Transkript; Zielsprache ausdrücklich angeben |
| Lachen, Seufzen oder Atmen im Text | TTS | paralinguistic | Chinesisch oder Englisch; dokumentierte Inline-Tags verwenden |
| Natürlichsprachliche Sprechregie | FREEFORM | freeform | Keine Referenz empfohlen; nicht mit anderen Steuerungsaufgaben kombinieren |
| Eine Stimme per Text entwerfen | VOICE_DESIGN | voice_design | Kein Referenz-Audio |
| Emotion festlegen | EMOTION | emotion | Referenz-Audio; kein Referenztranskript |
| Geschwindigkeit, Tonhöhe und Lautstärke festlegen | BASIC | basic | Alle drei Steuerungen angeben |
| Sichuanesisch oder Kantonesisch | DIALECT | dialect | Kein language_id |
| Skript mit mehreren Sprecherinnen und Sprechern | Nicht unterstützt | podcast | Eine Referenz und ein Transkript pro Sprecher; jede Zeile beginnt mit speaker_N: |
Im offiziellen Kochbuch steht ausdrücklich, dass der Freeform-Modus nicht mit Voice Design, integrierten Stimmen, Emotionen, Dialekten oder Basic-Attributen kombiniert werden kann. Mehrere paralinguistische Ereignisse in einem Satz werden unterstützt. Laut den Einschränkungen im Repository ist die Stabilität dabei jedoch geringer als bei einzelnen Ereignissen.
Was die Messwerte zeigen – und was nicht
Die stärksten öffentlich verfügbaren Hinweise sprechen für 0.5B als Standardwahl und Tiny als Spezialisten. Die im offiziellen README wiedergegebenen Ergebnisse von Artificial Analysis führen Ming-3.0-TTS im Oktober 2026 mit 1,069 Controlled Voice Elo und 93.2 % Aussprache-Robustheit. Diese Ranking-Angaben beziehen sich jedoch auf das 0.5B-Modell und belegen nicht automatisch die Qualität von Tiny.
Die Anbieter-Tests zeigen einen echten Zielkonflikt zwischen den Checkpoints. Auf den Seed-TTS-Evaluationsdaten erreicht 0.5B eine chinesische/englische WER von 0.800 %/1.584 %, während Tiny auf 0.820 %/1.666 % kommt. Bei der Sprecherähnlichkeit liegt Tiny in beiden Sprachen vorn: 0.781/0.728 gegenüber 0.758/0.691 bei 0.5B. Diese Werte stammen aus den Evaluationstabellen von InclusionAI und wurden nicht durch einen reproduzierten lokalen Test überprüft.
Tiny ist über seine sieben Sprachen hinweg nicht durchgehend besser. Die offizielle Tabelle zur Mehrsprachigkeit nennt für Koreanisch eine CER von 6.000 % bei Tiny gegenüber 1.728 % bei 0.5B. Nur Tiny unterstützt Podcasts und erreicht dabei 2.03 % Podcast-CER, 0.561 bedingte Sprecherähnlichkeit und 2.12 UTMOS. Gleichzeitig führt InclusionAI die prognostizierte Podcast-Audioqualität als Verbesserungsziel auf.
Die praktische Schlussfolgerung ist klar begrenzt: Für die erste Bereitstellung, Koreanisch und einen geringeren Betriebsaufwand ist 0.5B die bessere Wahl. Tiny sollte man für Podcast-Generierung evaluieren – oder dann einsetzen, wenn seine gemessene höhere Sprecherähnlichkeit mit den eigenen Referenzen den größeren Checkpoint rechtfertigt.
Die Bereitstellung auf der eigenen Hardware validieren
Ein erfolgreiches Setup nach offizieller Anleitung sagt noch nichts über die Tauglichkeit für den Produktivbetrieb auf einer Consumer-GPU aus. Ein sinnvoller Freigabeprozess sollte den maximalen VRAM-Verbrauch, die Zeit bis zur ersten vollständig erzeugten WAV-Datei, den Echtzeitfaktor, die Fehlerquote und die Ausgabequalität unter genau den Sprach- und Referenzbedingungen erfassen, die später in der Anwendung gelten.
„Noch kein GGUF/llama.cpp und keine Benchmarks für Consumer-GPUs.“ – @TeksEdge auf X
Das entspricht dem offiziellen Kenntnisstand: Die 0.5B-Dokumentation nennt H800-80GB- und H20-96G-Testsysteme, während Tiny eine H800 empfiehlt. Keine der beiden offiziellen Modellkarten veröffentlicht Ergebnisse für RTX 4090, RTX 3090, Windows, WSL2, macOS, den Mindest-VRAM oder den Echtzeitfaktor.
Diese Prüfsequenz hat sich dafür bewährt:
- Das passende Preflight-Skript ausführen und seine Ausgabe zusammen mit der Checkpoint-Revision speichern.
- Eine kurze WAV-Datei über einen integrierten oder referenzfreien Pfad erzeugen und den Test anschließend mit dem produktiv vorgesehenen Referenzformat wiederholen.
- Maximalen VRAM-Verbrauch und Laufzeit für kurze, mittlere und lange Produktionstexte messen.
- Verständlichkeit und Sprecheridentität für jede Sprache, die ausgeliefert werden soll, getrennt bewerten.
- Jede benötigte Steuerung als eigene Aufgabe testen und Konfigurationen verwerfen, die auf nicht unterstützten Kombinationen beruhen.
- Das Verhalten der API mit vollständigen Wellenformen unter Last prüfen, einschließlich Timeouts und paralleler Anfragen.
Ohne diese Messungen bedeutet „läuft lokal“ lediglich, dass sich der Referenz-Stack auf der dokumentierten Rechenzentrums-Hardware laden und Sprache erzeugen lässt.
FAQ zu Ming-3.0-TTS
Läuft Ming-3.0-TTS auf einer RTX 4090 oder 3090?
Die offizielle Veröffentlichung nennt weder einen Mindest-VRAM noch Benchmarks für Consumer-GPUs. Der 0.5B-Checkpoint ist der naheliegendere Ausgangspunkt. Vor einer Entscheidung für eine der beiden Karten sollten aber der maximale Speicherbedarf und der Echtzeitfaktor lokal gemessen werden.
Funktioniert Ming-3.0-TTS unter Windows oder macOS?
Die offiziellen Referenzumgebungen basieren auf CUDA und Linux. Native Unterstützung für Windows, WSL2, Apple Silicon, MLX, GGUF oder llama.cpp ist im offiziellen Repository nicht dokumentiert.
Kann Ming-3.0-TTS kommerziell eingesetzt werden?
Der Code und die veröffentlichten Checkpoints stehen unter der MIT-Lizenz. Die Maintainer untersagen irreführende oder nicht einvernehmliche Imitationen und bitten darum, synthetische Sprache zu kennzeichnen, wenn sie mit einer echten Aufnahme verwechselt werden könnte.
Streamt die SGLang-API Audio in Echtzeit?
Nein. Bei stream=true wird die Generierung laut Dokumentation zunächst vollständig abgeschlossen. Danach liefert die API einen einzelnen PCM-Response-Body zurück. Clients sollten das daher als Generierung einer vollständigen Antwort behandeln, nicht als inkrementelle Wiedergabe.
Soll ich Ming-3.0-tts-0.5B oder Tiny verwenden?
0.5B ist die bessere erste Wahl für einen kleineren Checkpoint, eine einfachere Bereitstellung, koreanische Sprachsynthese und gewöhnliche Aufgaben mit nur einer Stimme. Tiny kommt infrage, wenn die Generierung von Podcasts mit mehreren Sprecherinnen und Sprechern zwingend erforderlich ist oder lokale Tests zeigen, dass sich die höhere chinesische/englische Sprecherähnlichkeit auf die eigenen Stimmen übertragen lässt.