génération vocale cosyvoice

Un modèle multilingue de grande taille pour la génération vocale, avec une parole expressive, une inférence pratique et un déploiement full-stack.

Public

Essayer le modèle

Transformez un prompt en voix naturelle

Synthèse vocale

Décrivez la voix, l’ambiance et les mots que vous souhaitez entendre, puis continuez vers l’espace de création Cosyvoice.

Décrivez une voix et continuez.

Gratuit pour commencer · aucune inscription · environ 10 s

Ou commencez avec un exemple

principal
Code
Ajout d’exemples de génération vocale multilingue et de notes de déploiement il y a 5 mois
552 commits
Nom Message du dernier commit Date du dernier commit
.github corriger les erreurs de lint il y a 10 mois
asset mettre à jour dingding il y a 10 mois
cosyvoice corriger les erreurs de lint il y a 7 mois
docker corriger une faute de frappe dans Dockerfile il y a 10 mois
examples conserver l’extraction hors ligne des embeddings et des tokens pour assurer la compatibilité il y a 8 mois
runtime corriger les erreurs de lint il y a 7 mois
third_party supprimer academic et passer à iic/CosyVoice_ttsfrd il y a 2 ans
tools fonctionnalité en ligne il y a 9 mois
.gitignore ajouter cosyvoice2 il y a 2 ans
.gitmodules supprimer academic et modifier en iic/CosyVoice_ttsfrd il y a 2 ans
CODE_OF_CONDUCT.md ajouter le code de cosyvoice il y a 2 ans
FAQ.md supprimer academic third party il y a 2 ans
LICENSE ajouter le code de cosyvoice il y a 2 ans
README.md ajouter une section sur l’écosystème avec des liens vers des projets de synthèse vocale il y a 5 mois
example.py corriger le lint il y a 7 mois
requirements.txt corriger la version yaml de vllm Il y a 8 mois
vllm_example.py corriger le bug de bistream Il y a 10 mois
webui.py supprimer l’avertissement instruct Il y a 10 mois
Bannière Cosyvoice bleue et violette avec le nom du modèle et le sous-titre « grand modèle de langage pour la synthèse vocale »

👉🏻 Cosyvoice 👈🏻

Fun-Cosyvoice 3.0: Démos; Article; Modelscope; Huggingface; Évaluation

Cosyvoice 2.0: Démos; Article; Modelscope; HuggingFace

Cosyvoice 1.0: Démos; Article; Modelscope; HuggingFace

À la une🔥

Fun-Cosyvoice 3.0 est un système avancé de synthèse vocale basé sur de grands modèles de langage. Il améliore la continuité, la ressemblance avec le locuteur et la prosodie, tout en restant adapté à la synthèse vocale multilingue en zero-shot dans les situations du quotidien.

Fonctionnalités principales

  • Langues prises en charge: Prend en charge 9 langues couramment utilisées, dont le chinois, l’anglais, le japonais, le coréen, l’allemand, l’espagnol, le français, l’italien et le russe, ainsi que plus de 18 dialectes et accents chinois. Il prend également en charge le clonage vocal multilingue et interlinguistique en zero-shot.
  • Cohérence et naturel du contenu: Maintient la stabilité du contenu parlé tout en préservant la similarité avec le locuteur et une prosodie naturelle.
  • Inpainting de la prononciation: Accepte le pinyin chinois et les phonèmes CMU anglais pour un contrôle plus précis de la prononciation dans les flux de production.
  • Normalisation du texte: Lit les nombres, les symboles et différents formats de texte sans nécessiter de module frontend traditionnel.
  • Bi-Streaming: Prend en charge le streaming du texte en entrée et de l’audio en sortie, avec une latence conçue pour atteindre environ 150ms tout en préservant les détails audio.
  • Prise en charge des instructions: Gère les instructions relatives à la langue, au dialecte, à l’émotion, à la vitesse, au volume et aux paramètres de restitution associés.

Feuille de route

  • 2025/12
    • Publier le modèle de base Fun-Cosyvoice3-0.5B-2512, le modèle RL ainsi que les scripts d’entraînement et d’inférence
    • Publier un espace Gradio Modelscope pour le modèle Fun-Cosyvoice3-0.5B
  • 2025/08
    • Ajouter la prise en charge du runtime Triton TRT-LLM et de l’entraînement GRPO de Cosyvoice2
  • 2025/07
    • Publier le jeu d’évaluation de Fun-Cosyvoice 3.0
  • 2025/05
    • Ajouter la prise en charge de vLLM pour Cosyvoice2-0.5B
  • 2024/12
    • Publier le modèle Cosyvoice2-0.5B à 25Hz
  • 2024/09
    • Publier le modèle de base Cosyvoice-300M à 25Hz
    • Ajouter la fonction de conversion vocale de Cosyvoice-300M
  • 2024/08
    • Ajouter une inférence avec échantillonnage sensible aux répétitions pour améliorer la stabilité du LLM
    • Ajouter la prise en charge de l’inférence en streaming avec cache KV et optimisation SOTA
  • 2024/07
    • Ajouter la prise en charge de l’entraînement par flow matching
    • Ajouter la prise en charge de WeTextProcessing lorsque ttsfrd est indisponible
    • Ajouter la prise en charge du serveur et du client FastAPI

Évaluation

Modèle Open source Taille du modèle test-zh
CER (%) ↓
test-zh
SS (%) ↑
test-en
WER (%) ↓
test-en
SS (%) ↑
test-hard
CER (%) ↓
test-hard
SS (%) ↑
Humain--1.2675.52.1473.4--
Seed-TTS❌-1.1279.62.2576.27.5977.6
MiniMax-Speech❌-0.8378.31.6569.2--
F5-TTS✅0.3B1.5274.12.0064.78.6771.3
Spark TTS✅0.5B1.266.01.9857.3--
CosyVoice2✅0.5B1.4575.72.5765.96.8372.4
FireRedTTS2✅1.5B1.1473.21.9566.5--
Index-TTS2✅1.5B1.0376.52.2370.67.1275.5
VibeVoice-1.5B✅1.5B1.1674.43.0468.9--
VibeVoice-Realtime✅0.5B--2.0563.3--
HiggsAudio-v2✅3B1.5074.02.4467.7--
VoxCPM✅0.5B0.9377.21.8572.98.8773.0
GLM-TTS✅1.5B1.0376.1----
GLM-TTS RL✅1.5B0.8976.4----
Fun-CosyVoice3-0.5B-2512✅0.5B1.2178.02.2471.86.7175.8
Fun-CosyVoice3-0.5B-2512_RL✅0.5B0.8177.41.6869.55.4475.0

Installer

Cloner et installer

  • Cloner le dépôt

    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
  • Installer Conda : veuillez consulter la documentation de Miniconda.

  • Créer un environnement Conda :

    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

Téléchargement du modèle

Nous recommandons de télécharger les ressources préentraînées Fun-CosyVoice3-0.5B, CosyVoice2-0.5B, CosyVoice-300M, CosyVoice-300M-SFT, CosyVoice-300M-Instruct et CosyVoice-ttsfrd .

# 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')

Facultativement, décompressez la ressource ttsfrd et installez son package pour améliorer la normalisation du texte.

Cette étape est facultative. Sans elle, Cosyvoice utilise wetext par défaut.

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

Utilisation de base

Pour obtenir les meilleurs résultats, utilisez Fun-CosyVoice3-0.5B et suivez les exemples pour chaque modèle pris en charge.

python example.py

Utilisation de vLLM

Cosyvoice2 et Cosyvoice3 prennent en charge vLLM 0.11.x+ avec le moteur V1 et vLLM 0.9.0 en mode legacy. Les versions antérieures ne prennent pas en charge l’inférence de Cosyvoice, tandis que les versions intermédiaires entre ces versions testées peuvent nécessiter une validation supplémentaire.

Comme vLLM a des exigences spécifiques en matière de dépendances, créez un environnement distinct si nécessaire.

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

Démarrer la démo web

Utilisez la démo web pour vous familiariser rapidement avec Cosyvoice, puis adaptez l’exemple au modèle sélectionné.

Consultez l’espace de création pour obtenir les détails de la démo actuelle.

# 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

Utilisation avancée

Les scripts d’entraînement et d’inférence destinés aux utilisateurs avancés sont fournis dans examples/libritts.

Préparer pour le déploiement

Pour le déploiement facultatif du service, suivez les étapes ci-dessous.

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>

Utiliser Nvidia TensorRT-LLM pour le déploiement

TensorRT-LLM peut accélérer considérablement le modèle de langage Cosyvoice2 par rapport à une implémentation standard avec Hugging Face Transformers.

cd runtime/triton_trtllm
docker compose up -d

Pour plus de détails sur le déploiement, consultez l’espace de création.

Discussion et communication

Les questions et discussions techniques peuvent être partagées via l’espace communautaire Cosyvoice.

Vous pouvez également scanner le code QR pour rejoindre le groupe de discussion officiel Cosyvoice.

Une carte avec un code QR noir et blanc épuré pour rejoindre la communauté Cosyvoice, centrée sur une feuille de papier blanc avec une petite touche de bleu

Remerciements

  1. Nous avons emprunté une grande partie du code de FunASR.
  2. Nous avons emprunté une grande partie du code de FunCodec.
  3. Nous avons emprunté une grande partie du code de Matcha-TTS.
  4. Nous avons emprunté une grande partie du code de AcademiCodec.
  5. Nous avons emprunté une grande partie du code de WeNet.

Références

@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}
}

Écosystème

Cosyvoice fait partie de la FunAudioLLM famille, un ensemble plus vaste d’outils pour la compréhension et la génération de la parole.

Projet Description Étoiles
FunASR Reconnaissance industrielle de la parole dans plus de 50 langues, avec diarisation et streaming. Badge d’étoiles de FunASR
Fun-ASR-Nano Reconnaissance automatique de la parole de bout en bout basée sur un LLM, pour 31 langues, avec prise en charge des mots-clés et du streaming vLLM. Badge d’étoiles de Fun-ASR-Nano
SenseVoice Reconnaissance automatique de la parole ultra-rapide, avec reconnaissance des émotions et détection des événements audio. Badge d’étoiles de SenseVoice
FunClip Découpage vidéo par IA, optimisé par la reconnaissance de la parole. Badge d’étoiles de FunClip

Avis de non-responsabilité

Le contenu de cette page est fourni à des fins de démonstration académique et technique. Certains exemples proviennent de ressources publiques. Si un contenu porte atteinte à vos droits, veuillez nous contacter pour demander son retrait.

Commencer à créer
Commencer à créer