👉🏻 Cosyvoice 👈🏻
Fun-Cosyvoice 3.0: Demos; Fachartikel; Modelscope; Huggingface; Evaluierung
Cosyvoice 2.0: Demos; Fachartikel; Modelscope; HuggingFace
Cosyvoice 1.0: Demos; Fachartikel; Modelscope; HuggingFace
Highlight🔥
Fun-Cosyvoice 3.0 ist ein fortschrittliches Text-to-Speech-System, das auf großen Sprachmodellen basiert. Es verbessert Kontinuität, Sprecherähnlichkeit und Prosodie und eignet sich zugleich für die mehrsprachige Zero-Shot-Sprachsynthese im Alltag.
Wichtige Funktionen
- Sprachabdeckung: Unterstützt 9 weit verbreitete Sprachen, darunter Chinesisch, Englisch, Japanisch, Koreanisch, Deutsch, Spanisch, Französisch, Italienisch und Russisch, sowie über 18 chinesische Dialekte und Akzente. Außerdem werden mehrsprachiges und sprachübergreifendes Zero-Shot-Voice-Cloning unterstützt.
- Kohärenz und Natürlichkeit der Inhalte: Hält den gesprochenen Inhalt stabil und bewahrt dabei die Ähnlichkeit der Stimme sowie eine natürlich klingende Prosodie.
- Aussprache-Inpainting: Akzeptiert chinesisches Pinyin und englische CMU-Phoneme für eine präzisere Aussprachekontrolle in Produktions-Workflows.
- Textnormalisierung: Liest Zahlen, Symbole und verschiedene Textformate, ohne dass ein herkömmliches Frontend-Modul erforderlich ist.
- Bi-Streaming: Unterstützt Streaming bei der Texteingabe und Streaming bei der Audioausgabe. Die Latenz ist auf etwa 150 ms ausgelegt, während detailliertes Audio erhalten bleibt.
- Unterstützung von Anweisungen: Verarbeitet Anweisungen für Sprache, Dialekt, Emotion, Geschwindigkeit, Lautstärke und verwandte Steuerungen der Sprachwiedergabe.
Roadmap
-
2025/12
- Veröffentlichung des Fun-Cosyvoice3-0.5B-2512-Basismodells, des RL-Modells sowie der Trainings- und Inferenzskripte
- Veröffentlichung eines Fun-Cosyvoice3-0.5B-Modelscope-Gradio-Spaces
-
2025/08
- Hinzufügen der Unterstützung für die Triton-TRT-LLM-Laufzeitumgebung und das Cosyvoice2-GRPO-Training
-
2025/07
- Veröffentlichung des Fun-Cosyvoice 3.0-Evaluationsdatensatzes
-
2025/05
- Hinzufügen der Cosyvoice2-0.5B-vLLM-Unterstützung
-
2024/12
- Veröffentlichung des 25-Hz-Cosyvoice2-0.5B-Modells
-
2024/09
- Veröffentlichung des 25-Hz-Basismodells Cosyvoice-300M
- Hinzufügen der Sprachkonvertierungsfunktion für Cosyvoice-300M
-
2024/08
- Hinzufügen einer wiederholungsbewussten Sampling-Inferenz für LLM-Stabilität
- Hinzufügen der Unterstützung für Streaming-Inferenz mit KV-Cache und SOTA-Optimierung
-
2024/07
- Hinzufügen der Unterstützung für das Flow-Matching-Training
- Hinzufügen der Unterstützung für WeTextProcessing, wenn ttsfrd nicht verfügbar ist
- Hinzufügen der Unterstützung für FastAPI-Server und -Client
Evaluierung
| Modell | Open Source | Modellgröße | test-zh CER (%) ↓ |
test-zh SS (%) ↑ |
test-en WER (%) ↓ |
test-en SS (%) ↑ |
test-hard CER (%) ↓ |
test-hard SS (%) ↑ |
|---|---|---|---|---|---|---|---|---|
| Mensch | - | - | 1.26 | 75.5 | 2.14 | 73.4 | - | - |
| Seed-TTS | ❌ | - | 1.12 | 79.6 | 2.25 | 76.2 | 7.59 | 77.6 |
| MiniMax-Speech | ❌ | - | 0.83 | 78.3 | 1.65 | 69.2 | - | - |
| F5-TTS | ✅ | 0.3B | 1.52 | 74.1 | 2.00 | 64.7 | 8.67 | 71.3 |
| Spark TTS | ✅ | 0.5B | 1.2 | 66.0 | 1.98 | 57.3 | - | - |
| CosyVoice2 | ✅ | 0.5B | 1.45 | 75.7 | 2.57 | 65.9 | 6.83 | 72.4 |
| FireRedTTS2 | ✅ | 1.5B | 1.14 | 73.2 | 1.95 | 66.5 | - | - |
| Index-TTS2 | ✅ | 1.5B | 1.03 | 76.5 | 2.23 | 70.6 | 7.12 | 75.5 |
| VibeVoice-1.5B | ✅ | 1.5B | 1.16 | 74.4 | 3.04 | 68.9 | - | - |
| VibeVoice-Realtime | ✅ | 0.5B | - | - | 2.05 | 63.3 | - | - |
| HiggsAudio-v2 | ✅ | 3B | 1.50 | 74.0 | 2.44 | 67.7 | - | - |
| VoxCPM | ✅ | 0.5B | 0.93 | 77.2 | 1.85 | 72.9 | 8.87 | 73.0 |
| GLM-TTS | ✅ | 1.5B | 1.03 | 76.1 | - | - | - | - |
| GLM-TTS RL | ✅ | 1.5B | 0.89 | 76.4 | - | - | - | - |
| Fun-CosyVoice3-0.5B-2512 | ✅ | 0.5B | 1.21 | 78.0 | 2.24 | 71.8 | 6.71 | 75.8 |
| Fun-CosyVoice3-0.5B-2512_RL | ✅ | 0.5B | 0.81 | 77.4 | 1.68 | 69.5 | 5.44 | 75.0 |
Installieren
Klonen und installieren
-
Repository klonen
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git # If the submodule download fails because of network conditions, run the following command again cd CosyVoice git submodule update --init --recursive -
Conda installieren: Siehe die Miniconda-Dokumentation.
-
Eine Conda-Umgebung erstellen:
conda create -n cosyvoice -y python=3.10 conda activate cosyvoice pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com # If you encounter sox compatibility issues # ubuntu sudo apt-get install sox libsox-dev # centos sudo yum install sox sox-devel
Modelldownload
Wir empfehlen, die vortrainierten Fun-CosyVoice3-0.5B, CosyVoice2-0.5B, CosyVoice-300M, CosyVoice-300M-SFT, CosyVoice-300M-Instruct und CosyVoice-ttsfrd Ressourcen herunterzuladen.
# modelscope SDK model download
from modelscope import snapshot_download
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
# for overseas users, huggingface SDK model download
from huggingface_hub import snapshot_download
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
snapshot_download('FunAudioLLM/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
snapshot_download('FunAudioLLM/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('FunAudioLLM/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('FunAudioLLM/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('FunAudioLLM/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
Optional können Sie die ttsfrd Ressource entpacken und ihr Paket für eine verbesserte Textnormalisierung installieren.
Dieser Schritt ist optional. Ohne ihn verwendet Cosyvoice standardmäßig wetext.
cd pretrained_models/CosyVoice-ttsfrd/
unzip resource.zip -d .
pip install ttsfrd_dependency-0.1-py3-none-any.whl
pip install ttsfrd-0.4.2-cp310-cp310-linux_x86_64.whl
Grundlegende Verwendung
Für die besten Ergebnisse verwenden Sie Fun-CosyVoice3-0.5B und folgen Sie den Beispielen für jedes unterstützte Modell.
python example.py
vLLM-Verwendung
Cosyvoice2 und Cosyvoice3 unterstützen vLLM 0.11.x+ mit der V1-Engine und vLLM 0.9.0 im Legacy-Modus. Ältere Versionen unterstützen keine Cosyvoice-Inferenz, während Versionen zwischen diesen getesteten Releases möglicherweise eine zusätzliche Validierung erfordern.
Da vLLM spezifische Abhängigkeiten erfordert, erstellen Sie bei Bedarf eine separate Umgebung.
conda create -n cosyvoice_vllm --clone cosyvoice
conda activate cosyvoice_vllm
# for vllm==0.9.0
pip install vllm==v0.9.0 transformers==4.51.3 numpy==1.26.4 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# for vllm>=0.11.0
pip install vllm==v0.11.0 transformers==4.57.1 numpy==1.26.4 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
python vllm_example.py
Webdemo starten
Nutzen Sie die Webdemo, um sich schnell mit Cosyvoice vertraut zu machen, und passen Sie das Beispiel anschließend an Ihr ausgewähltes Modell an.
Aktuelle Details zur Demo finden Sie im Erstellungsarbeitsbereich.
# change iic/CosyVoice-300M-SFT for SFT inference, or iic/CosyVoice-300M-Instruct for instruct inference
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300M
Erweiterte Nutzung
Trainings- und Inferenzskripte für fortgeschrittene Benutzer werden bereitgestellt unter examples/libritts.
Für die Bereitstellung erstellen
Für die optionale Bereitstellung des Dienstes führen Sie die folgenden Schritte aus.
cd runtime/python
docker build -t cosyvoice:v1.0 .
# change iic/CosyVoice-300M to iic/CosyVoice-300M-Instruct for instruct inference
# for grpc usage
docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/grpc && python3 server.py --port 50000 --max_conc 4 --model_dir iic/CosyVoice-300M && sleep infinity"
cd grpc && python3 client.py --port 50000 --mode <sft|zero_shot|cross_lingual|instruct>
# for fastapi usage
docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/fastapi && python3 server.py --port 50000 --model_dir iic/CosyVoice-300M && sleep infinity"
cd fastapi && python3 client.py --port 50000 --mode <sft|zero_shot|cross_lingual|instruct>
Verwendung von Nvidia TensorRT-LLM für die Bereitstellung
TensorRT-LLM kann das Cosyvoice2-Sprachmodell im Vergleich zu einer standardmäßigen Implementierung mit Hugging Face Transformers erheblich beschleunigen.
cd runtime/triton_trtllm
docker compose up -d
Weitere Informationen zur Bereitstellung finden Sie im Erstellungsarbeitsbereich.
Diskussion & Kommunikation
Fragen und technische Diskussionen können im Cosyvoice-Community-Arbeitsbereich geteilt werden.
Sie können auch den QR-Code scannen, um der offiziellen Cosyvoice-Diskussionsgruppe beizutreten.
Danksagung
- Wir haben umfangreichen Code übernommen von FunASR.
- Wir haben umfangreichen Code übernommen von FunCodec.
- Wir haben umfangreichen Code übernommen von Matcha-TTS.
- Wir haben umfangreichen Code übernommen von AcademiCodec.
- Wir haben umfangreichen Code übernommen von WeNet.
Zitate
@article{du2024cosyvoice,
title={Cosyvoice: A scalable multilingual zero-shot text-to-speech synthesizer based on supervised semantic tokens},
author={Du, Zhihao and Chen, Qian and Zhang, Shiliang and Hu, Kai and Lu, Heng and Yang, Yexin and others},
journal={arXiv preprint arXiv:2407.05407},
year={2024}
}
@article{du2024cosyvoice,
title={Cosyvoice 2: Scalable streaming speech synthesis with large language models},
author={Du, Zhihao and Wang, Yuxuan and Chen, Qian and Shi, Xian and Lv, Xiang and Zhao, Tianyu and others},
journal={arXiv preprint arXiv:2412.10117},
year={2024}
}
@article{du2025cosyvoice,
title={CosyVoice 3: Towards In-the-wild Speech Generation via Scaling-up and Post-training},
author={Du, Zhihao and Gao, Changfeng and Wang, Yuxuan and Yu, Fan and Zhao, Tianyu and others},
journal={arXiv preprint arXiv:2505.17589},
year={2025}
}
@inproceedings{lyu2025build,
title={Build LLM-Based Zero-Shot Streaming TTS System with Cosyvoice},
author={Lyu, Xiang and Wang, Yuxuan and Zhao, Tianyu and Wang, Hao and Liu, Huadai and Du, Zhihao},
booktitle={ICASSP 2025},
pages={1--2},
year={2025},
organization={IEEE}
}
Ökosystem
Cosyvoice ist Teil der FunAudioLLM -Familie, einer umfassenderen Tool-Sammlung für das Verstehen und Erzeugen von Sprache.
| Projekt | Beschreibung | Sterne |
|---|---|---|
| FunASR | Spracherkennung für den industriellen Einsatz mit 50+ Sprachen, Sprecherzuordnung und Streaming. | FunASR-Sterne-Badge |
| Fun-ASR-Nano | End-to-End-LLM-basierte Spracherkennung für 31 Sprachen, Hotwords und vLLM-Streaming. | Fun-ASR-Nano-Sterne-Badge |
| SenseVoice | Ultraschnelle Spracherkennung mit Emotionserkennung und Erkennung akustischer Ereignisse. | SenseVoice-Sterne-Badge |
| FunClip | KI-gestützter Videoschnitt auf Basis von Spracherkennung. | FunClip-Sterne-Badge |
Haftungsausschluss
Das Material auf dieser Seite dient akademischen und technischen Demonstrationszwecken. Einige Beispiele stammen aus öffentlich zugänglichen Quellen. Sollte Material Ihre Rechte verletzen, kontaktieren Sie uns bitte, um dessen Entfernung zu beantragen.