Home
Login
2noise/ChatTTS

Modèle vocal génératif conçu spécifiquement pour les scénarios de conversation, prenant en charge les entrées mixtes chinois-anglais et les capacités multi-locuteurs.

AGPL-3.0Python 36.8k2noise Last Updated: 2025-05-23
https://github.com/2noise/ChatTTS

ChatTTS - Modèle de synthèse vocale pour scènes de dialogue professionnelles

Aperçu du projet

ChatTTS est un modèle de synthèse vocale (TTS) génératif conçu spécifiquement pour les scènes de dialogue, développé par l'équipe 2noise. Ce projet a reçu plus de 35 000 étoiles sur GitHub et est l'un des projets TTS open source les plus populaires actuellement.

Adresse du projet: https://github.com/2noise/ChatTTS Équipe de développement: 2noise Licence open source: AGPLv3+ (code) / CC BY-NC 4.0 (modèle) Principales langues prises en charge: Chinois, Anglais

ChatTTS a été conçu dans le but de fournir une expérience d'interaction vocale naturelle et fluide pour les applications de dialogue telles que les assistants LLM. Par rapport aux modèles TTS traditionnels, il offre de meilleures performances dans les scénarios de dialogue.

Fonctionnalités et caractéristiques principales

🎯 Conception optimisée pour le dialogue

  • Optimisé spécifiquement pour les scènes de dialogue: Optimisé pour les applications de dialogue telles que les chatbots et les assistants LLM.
  • Expérience de dialogue naturelle: La voix générée est plus naturelle et fluide, adaptée aux scénarios de dialogue homme-machine.
  • Dialogue interactif: Prend en charge la cohérence vocale dans les dialogues à plusieurs tours.

🎭 Prise en charge de plusieurs locuteurs

  • Capacité multi-locuteurs: Prend en charge le passage d'un locuteur à l'autre, permettant des dialogues à plusieurs personnages.
  • Échantillonnage des locuteurs: Peut échantillonner aléatoirement les caractéristiques des locuteurs à partir d'une distribution gaussienne.
  • Contrôle du timbre: Prend en charge la personnalisation et la fixation de timbres spécifiques, assurant la cohérence des personnages.

🎵 Contrôle fin de la prosodie

  • Contrôle du rire: Prend en charge l'ajout de différents niveaux d'effets de rire [laugh][laugh_0-2].
  • Contrôle des pauses: Contrôle précis des pauses et des intervalles dans la voix [uv_break][lbreak][break_0-7].
  • Contrôle de l'intonation: Prend en charge le réglage du degré d'oralité [oral_0-9].
  • Expression émotionnelle: Capable de prédire et de contrôler les caractéristiques prosodiques fines, y compris les variations d'intonation.

🌐 Prise en charge multilingue

  • Mixte chinois-anglais: Prend en charge nativement les entrées mixtes chinois-anglais, sans marquage de langue.
  • Adaptation linguistique: Identifie et traite automatiquement le contenu textuel de différentes langues.
  • Extension future: Prévoyez de prendre en charge davantage de langues.

⚡ Avantages techniques

  • Architecture avancée: Basé sur une architecture de modèle autorégressif, s'inspirant des technologies avancées telles que Bark et Valle.
  • Avantage prosodique: Surpasse la plupart des modèles TTS open source en termes de performances prosodiques.
  • Pré-entraînement de haute qualité: Le modèle principal est entraîné avec plus de 100 000 heures de données audio en chinois et en anglais.
  • Open source convivial: Fournit un modèle de base pré-entraîné de 40 000 heures pour la recherche.

Spécifications et performances du modèle

Données d'entraînement

  • Modèle principal: Entraîné avec plus de 100 000 heures de données audio en chinois et en anglais.
  • Version open source: Modèle pré-entraîné de 40 000 heures (sans SFT).
  • Source des données: Sources de données audio accessibles au public.

Indicateurs de performance

  • Exigences GPU: Nécessite au moins 4 Go de mémoire GPU pour générer 30 secondes d'audio.
  • Vitesse de génération: Environ 7 jetons sémantiques générés par seconde avec un GPU 4090.
  • Facteur temps réel (RTF): Environ 0.3
  • Qualité audio: Sortie avec un taux d'échantillonnage de 24 kHz.

Configuration matérielle requise

  • Configuration minimale: 4 Go+ de mémoire GPU.
  • Configuration recommandée: Cartes graphiques haut de gamme telles que RTX 3090/4090.
  • CPU: Prend en charge l'accélération du processeur multicœur.
  • Mémoire: 16 Go+ de mémoire système recommandés.

Installation et utilisation

Installation rapide

# Cloner le projet
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# Installer les dépendances
pip install --upgrade -r requirements.txt

# Ou utiliser un environnement conda
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

Exemple d'utilisation de base

import ChatTTS
import torch
import torchaudio

# Initialiser le modèle
chat = ChatTTS.Chat()
chat.load(compile=False)  # Définir sur True pour de meilleures performances

# Synthèse vocale
texts = ["你好,我是ChatTTS", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# Enregistrer les fichiers audio
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

Fonctionnalités de contrôle avancées

# Échantillonner aléatoirement un locuteur
rand_spk = chat.sample_random_speaker()

# Définir les paramètres d'inférence
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # Intégration du locuteur
    temperature=0.3,        # Paramètre de température
    top_P=0.7,             # Échantillonnage top-P
    top_K=20,              # Échantillonnage top-K
)

# Définir les paramètres d'affinage du texte
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # Ajouter le contrôle prosodique
)

# Générer la voix
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

Scénarios d'application

🤖 Assistants IA et chatbots

  • Sortie vocale des systèmes de dialogue LLM
  • Systèmes de service client intelligents
  • Applications d'assistants virtuels

📚 Éducation et formation

  • Plateformes d'éducation en ligne
  • Applications d'apprentissage des langues
  • Production de livres audio

🎬 Création de contenu

  • Production de podcasts
  • Doublage vidéo
  • Génération de contenu audio

🏢 Applications d'entreprise

  • Diffusion de résumés de réunions
  • Vocalisation des annonces
  • Fonctionnalités d'assistance à l'accessibilité

Architecture technique

Composants principaux

  • Encodeur de texte: Traite la compréhension sémantique du texte d'entrée.
  • Prédicteur de prosodie: Prédit et contrôle les caractéristiques prosodiques de la voix.
  • Vocodeur: Convertit les caractéristiques en formes d'onde audio de haute qualité.
  • Encodeur de locuteur: Traite l'intégration des caractéristiques de plusieurs locuteurs.

Caractéristiques du modèle

  • Architecture autorégressive: Modèle de génération autorégressif basé sur Transformer.
  • Entraînement de bout en bout: Cadre d'entraînement unifié de bout en bout.
  • Fusion multimodale: Fusion efficace du texte, de la prosodie et des informations sur le locuteur.

Précautions et limitations

Restrictions d'utilisation

  • Usage académique: Les modèles publiés sont limités à un usage de recherche académique.
  • Restrictions commerciales: Ne doivent pas être utilisés à des fins commerciales ou illégales.
  • Considérations éthiques: Du bruit à haute fréquence a été ajouté pour empêcher une utilisation malveillante.

Limitations techniques

  • Longueur audio: La qualité peut se dégrader pour les fichiers audio plus longs.
  • Besoins de calcul: Nécessite des ressources de calcul GPU élevées.
  • Prise en charge linguistique: Prend actuellement en charge principalement le chinois et l'anglais.

Questions fréquentes

  • Vitesse de génération: Peut être améliorée en optimisant la configuration matérielle et en ajustant les paramètres.
  • Qualité audio: Le format de compression MP3 peut affecter la qualité finale.
  • Stabilité: Le modèle autorégressif peut présenter des sorties instables.

Conclusion

ChatTTS, en tant que modèle TTS spécialement conçu pour les scènes de dialogue, excelle dans les domaines suivants :

🎯 Professionnalisme: Optimisé spécifiquement pour les scènes de dialogue, il excelle dans les applications telles que les chatbots et les assistants IA.

🚀 Avancée technologique: Adoptant les dernières technologies d'apprentissage profond, il est à la pointe du contrôle prosodique et de la prise en charge de plusieurs locuteurs.

🌟 Valeur open source: Fournit une solution open source complète, réduisant la barrière à l'utilisation de la technologie TTS de haute qualité.

🤝 Communauté active: Possède une communauté de développeurs active et de riches ressources écosystémiques.

⚡ Utilité: Fournit des fonctionnalités complètes, de l'utilisation de base au contrôle avancé, répondant aux besoins de différents niveaux.

L'émergence de ChatTTS comble le vide des modèles TTS dédiés aux scènes de dialogue, fournissant un support technique solide pour la construction d'une expérience d'interaction vocale homme-machine plus naturelle. Avec le développement continu de la technologie et la contribution continue de la communauté, il est certain que ChatTTS jouera un rôle de plus en plus important dans le domaine de la synthèse vocale.