Home
Login

CosyVoice : grand modèle de génération vocale multilingue, offrant des capacités complètes d'inférence, d'entraînement et de déploiement.

Apache-2.0Python 14.5kFunAudioLLM Last Updated: 2025-06-12

Présentation détaillée du projet CosyVoice

Aperçu du projet

CosyVoice est un modèle de génération vocale multilingue de grande envergure développé par l'équipe FunAudioLLM d'Alibaba, offrant une solution complète de pile pour l'inférence, l'entraînement et le déploiement. Ce projet se concentre sur une technologie de synthèse vocale de haute qualité, prenant en charge plusieurs langues et scénarios d'application.

Caractéristiques principales

Nouvelles fonctionnalités de CosyVoice 2.0

Langues prises en charge

  • Chinois, anglais, japonais, coréen
  • Dialectes chinois : cantonais, sichuanais, shanghaïen, tianjinois, wuhanais, etc.

Avancées technologiques

  • Interlangue et multilingue mixte : Prise en charge des scénarios interlangues et de commutation de code pour le clonage vocal zéro-shot
  • Prise en charge du streaming bidirectionnel : Intégration des technologies de modélisation hors ligne et en streaming
  • Synthèse à très faible latence : Latence de synthèse du premier paquet aussi faible que 150 ms, tout en maintenant une sortie audio de haute qualité
  • Amélioration de la précision de la prononciation : Réduction des erreurs de prononciation de 30 % à 50 % par rapport à la version 1.0
  • Réalisations en matière de tests de référence : Atteinte du taux d'erreur de caractères le plus bas sur l'ensemble de tests difficiles de l'ensemble d'évaluation Seed-TTS
  • Cohérence de la voix : Assurer une cohérence fiable de la voix pour la synthèse vocale zéro-shot et interlangue
  • Amélioration de la prosodie et de la qualité sonore : Amélioration de l'alignement audio synthétisé, score d'évaluation MOS passant de 5,4 à 5,53
  • Flexibilité émotionnelle et dialectale : Prise en charge d'un contrôle émotionnel plus fin et d'un ajustement de l'accent

Versions du modèle

CosyVoice2-0.5B (Recommandé)

  • Dernière version, performances supérieures
  • Prend en charge toutes les dernières fonctionnalités

Série CosyVoice-300M

  • CosyVoice-300M : Modèle de base
  • CosyVoice-300M-SFT : Version de réglage fin supervisé
  • CosyVoice-300M-Instruct : Version de réglage fin d'instruction

Modes de fonctionnement

1. Clonage vocal zéro-shot (Zero-shot)

  • Clone la voix avec seulement quelques secondes d'échantillon audio
  • Prend en charge le clonage vocal interlangue
  • Conserve les caractéristiques de la voix de l'orateur original

2. Synthèse interlangue (Cross-lingual)

  • Synthétise la parole dans une autre langue en utilisant un échantillon audio d'une langue
  • Prend en charge diverses combinaisons de langues telles que le chinois, l'anglais, le japonais, le coréen, le cantonais, etc.

3. Conversion vocale (Voice Conversion)

  • Convertit la voix d'un locuteur en la voix d'un autre
  • Modifie la voix tout en conservant le contenu original

4. Mode de réglage fin supervisé (SFT)

  • Effectue la synthèse vocale en utilisant des identités de locuteurs prédéfinies
  • Qualité de synthèse stable et fiable

5. Mode de contrôle par instruction (Instruct)

  • Contrôle la synthèse vocale par des instructions en langage naturel
  • Prend en charge les étiquettes émotionnelles et les effets spéciaux
  • Permet de contrôler le style de la voix, l'expression émotionnelle, etc.

6. Contrôle fin

  • Prend en charge les balises spéciales telles que le rire [laughter], la respiration [breath], etc.
  • Prend en charge le contrôle de l'accentuation <strong></strong>
  • Réglage fin de l'émotion et de la prosodie

Architecture technique

Technologies clés

  • Marquage vocal discret : Technologie de marquage vocal discret basée sur la supervision
  • Décodage sémantique progressif : Utilisation de modèles de langage (LMs) et de Flow Matching
  • Modélisation de flux bidirectionnel : Prise en charge de l'inférence en temps réel et par lots
  • Intégration multimodale : Intégration transparente avec les grands modèles de langage

Optimisation des performances

  • Prise en charge de l'inférence en streaming : Inclut la mise en cache KV et l'optimisation SDPA
  • Échantillonnage sensible à la répétition (RAS) : Améliore la stabilité du LLM
  • Accélération TensorRT : Prend en charge l'inférence accélérée par GPU
  • Précision FP16 : Équilibre les performances et la qualité

Installation et utilisation

Configuration requise

  • Python 3.10
  • GPU compatible CUDA (recommandé)
  • Gestion de l'environnement Conda

Démarrage rapide

# Cloner le dépôt
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice

# Créer l'environnement
conda create -n cosyvoice -y python=3.10
conda activate cosyvoice
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt

Téléchargement du modèle

from modelscope import snapshot_download

# Télécharger CosyVoice2.0 (recommandé)
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')

# Télécharger d'autres versions
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')

Exemple d'utilisation de base

from cosyvoice.cli.cosyvoice import CosyVoice2
from cosyvoice.utils.file_utils import load_wav
import torchaudio

# Initialiser le modèle
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B')

# Clonage vocal zéro-shot
prompt_speech = load_wav('./asset/zero_shot_prompt.wav', 16000)
for i, result in enumerate(cosyvoice.inference_zero_shot(
    '收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐。', 
    '希望你以后能够做的比我还好呦。', 
    prompt_speech
)):
    torchaudio.save(f'output_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)

# Synthèse de contrôle par instruction
for i, result in enumerate(cosyvoice.inference_instruct2(
    '今天天气真不错,我们去公园散步吧。', 
    '用四川话说这句话', 
    prompt_speech
)):
    torchaudio.save(f'instruct_{i}.wav', result['tts_speech'], cosyvoice.sample_rate)

Solutions de déploiement

Déploiement de l'interface Web

python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice2-0.5B

Déploiement du conteneur Docker

cd runtime/python
docker build -t cosyvoice:v1.0 .

# Service gRPC
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 --model_dir iic/CosyVoice2-0.5B"

# Service FastAPI  
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/CosyVoice2-0.5B"

Scénarios d'application

Applications commerciales

  • Service client intelligent : Système de service client multilingue
  • Livres audio : Narration personnalisée et doublage de personnages
  • Assistants vocaux : Expérience d'interaction homme-machine naturelle
  • Éducation en ligne : Production de contenu pédagogique multilingue

Applications créatives

  • Production de podcasts : Génération automatisée de contenu de podcast
  • Doublage de jeux : Synthèse vocale de personnages
  • Production de courtes vidéos : Solution de doublage rapide
  • Traduction vocale : Traduction vocale en temps réel

Intégration technique

  • Intégration avec LLM : Construction de systèmes de dialogue complets
  • Chat vocal émotionnel : Robots de conversation prenant en charge l'expression émotionnelle
  • Podcasts interactifs : Génération de contenu dynamique
  • Livres audio expressifs : Richesse de l'expression émotionnelle

Avantages techniques

Indicateurs de performance

  • Latence : Synthèse du premier paquet aussi faible que 150 ms
  • Qualité : MOS