Phase 4 — CosyVoice Tests
Überblick
Modell: CosyVoice v2 (Alibaba)
Ansatz: Zero-Shot Voice Cloning mit chinesischem Multilingual-Modell
Hardware: NVIDIA RTX A6000 (48 GB VRAM)
CosyVoice ist ein von Alibaba entwickeltes Text-to-Speech Modell, das stark auf Chinesisch und Englisch trainiert wurde. Die Hoffnung: Vielleicht beherrscht es Deutsch besser als XTTS v2?
Installation
Die Installation war komplex — separate Conda-Umgebung nötig:
# Neue Conda-Umgebung auf /mnt/storage (nicht Systemdisk!)
conda create -p /mnt/storage/cosyvoice_env python=3.10 -y
conda activate /mnt/storage/cosyvoice_env
# PyTorch 2.3.1 (CosyVoice braucht genau diese Version)
pip install torch==2.3.1 torchaudio==2.3.1 \
--index-url https://download.pytorch.org/whl/cu121
# CosyVoice-spezifische Pakete
pip install conformer==0.3.2 diffusers==0.29.0 \
x-transformers==2.11.24 wetext==0.0.4
# Matcha-TTS (Abhängigkeit)
git clone https://github.com/shivammehta25/Matcha-TTS.git \
/mnt/storage/cosyvoice/third_party/Matcha-TTS
Architektur
┌───────────────────────────────────────────────────────────────────┐
│ COSYVOICE PIPELINE │
│ │
│ REFERENZ (6 Sek.) TEXT OUTPUT │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────┐ │
│ │ WAV-Datei │ │ Deutscher │ │ WAV │ │
│ │ (Stimme) │ ────▶│ Text │ ────▶│ 22.05kHz │ │
│ └───────────────┘ └───────────────┘ └───────────┘ │
│ │
│ Modell: iic/CosyVoice-300M (via ModelScope Hub) │
│ Frontend: wetext (Text-Normalisierung) │
│ Sprache: Keine deutsche Phonetik vorhanden │
└───────────────────────────────────────────────────────────────────┘
Installation-Probleme
Problem 1: ModelScope Cache auf Systemdisk
# FEHLER: ModelScope speichert Modelle unter ~/.cache/ (Systemdisk)
# LÖSUNG: Symlink auf /mnt/storage
rm -rf ~/.cache/modelscope
mkdir -p /mnt/storage/modelscope_cache
ln -s /mnt/storage/modelscope_cache ~/.cache/modelscope
Problem 2: YAML-Konflikt
# FEHLER: cosyvoice.yaml vs. cosyvoice2.yaml
# CosyVoice2-0.5B erwartet "cosyvoice.yaml", liefert aber "cosyvoice2.yaml"
# LÖSUNG: Manueller Symlink
cd /mnt/storage/modelscope_cache/hub/iic/CosyVoice2-0___5B/
ln -s cosyvoice2.yaml cosyvoice.yaml
Problem 3: Fehlende Abhängigkeiten
# pyarrow fehlte → ModuleNotFoundError
pip install pyarrow
# onnxruntime fehlte → ONNX-Modelle konnten nicht geladen werden
pip install onnxruntime==1.18.0
# whisper fehlte → Build fehlgeschlagen
pip install --no-build-isolation openai-whisper==20231117
Test-Ergebnis
import sys
sys.path.insert(0, '/mnt/storage/cosyvoice')
sys.path.insert(0, '/mnt/storage/cosyvoice/third_party/Matcha-TTS')
from cosyvoice.cli.cosyvoice import CosyVoice
cosyvoice = CosyVoice('iic/CosyVoice-300M')
# Zero-Shot Test
for result in cosyvoice.inference_zero_shot(
"Hallo und herzlich willkommen.",
"Hallo, das ist ein Test.",
"referenz.wav"
):
audio = result['tts_speech']
Generierungs-Zeit: ~2-5 Sekunden pro Satz
Sample Rate: 22.050 Hz
Audio-Analyse
| Aspekt | Bewertung |
|---|---|
| Klang | 3,5/5 — Guter, klarer Sound |
| Aussprache | 0,5/5 — Nur das Wort "Test" verständlich |
| Deutsch | Fehlende deutsche Phonetik |
| Stabilität | Kein Drift bei kurzen Sätzen |
Warum CosyVoice bei Deutsch versagt
┌─────────────────────────────────────────────────────────────────┐
│ COSYVOICE TRAININGSSPRACHEN │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Chinesisch (Mandarin) ████████████████████████████████ 60% │
│ Englisch ██████████████ 25% │
│ Japanisch ████ 8% │
│ Deutsch ▌ 0% │
│ │
│ CosyVoice hat KEINE deutschen Trainingsdaten! │
│ Die wetext-Frontend kann Text normalisieren, │
│ aber das neuronale Netzwerk kennt keine deutschen Laute. │
│ │
│ Ergebnis: Guter Klang, aber Unverständlich │
│ │
└─────────────────────────────────────────────────────────────────┘
Bewertung
| Kriterium | Bewertung | Kommentar |
|---|---|---|
| Text-Klarheit | 0,5/5 | Fast nichts verständlich |
| Stimmen-Ähnlichkeit | 1/5 | Keine erkennbare Stimme |
| Sound-Qualität | 3,5/5 | Guter Klang, wenn man nicht auf Text achtet |
| Räumlichkeit | 2/5 | Flach |
| Gesamt | 2/5 | Nicht nutzbar für Deutsch |
Vergleich mit XTTS v2
| Modell | Klang | Aussprache | Deutsch | Gesamt |
|---|---|---|---|---|
| XTTS v2 | 3,5/5 | 3,5/5 | ⚠️ Quengelig | 2,75/5 |
| CosyVoice | 3,5/5 | 0,5/5 | ❌ Keine | 2/5 |
Ergebnis: CosyVoice hat zwar besseren "Rohklang", aber da es kein Deutsch kann, ist XTTS v2 für deutsche Anwendungen die bessere (wenn auch unzureichende) Wahl.
Fazit
CosyVoice ist ein beeindruckendes chinesisches TTS-Modell mit guter Klangqualität. Aber es kann kein Deutsch — und das ist kein Konfigurationsproblem, sondern ein fundamentales Trainingsproblem.
Harte Wahrheit
Es gibt aktuell kein Open-Source-Modell, das out-of-the-box hochwertiges deutsches Voice-Cloning kann.
Nächster Schritt: Audio-Beispiele — Alle getesteten Samples im direkten Vergleich