ChatTTS
ChatTTS : rend le travail audio avec l’IA plus efficace et plus simple
Étiquettes :Outils audio IAQu’est-ce que ChatTTS ?
ChatTTS est un modèle de conversion de texte en parole génératif développé par 2Noise, conçu spécialement pour les assistants de conversation, les dialogues multilatéraux et le contenu parlé, et non pour une lecture traditionnelle à voix haute.
Le projet prend en charge le chinois et l’anglais, et permet de générer de la voix localement via Python, la ligne de commande ou l’interface Web d’exemple. L’anglais est toujours indiqué dans la documentation du projet comme étant expérimental ; on ne peut pas supposer qu’il atteigne la même stabilité que le chinois.
D’abord, distinguer les projets officiels des sites web portant le même nom
| objet | Opérateur ou entreteneur | Nature actuelle | Utilisation du jugement |
|---|---|---|---|
| Modèle ChatTTS et code | 2Noise | Projet de recherche open source officiel | Prendre les dépôts de code et les cartes de modèles comme normes factuelles |
| Page officielle de ChatTTS | 2Noise | Seulement le code et le modèle | Pas d’entrée pour la génération cloud payante |
| Site d’introduction du même nom | NEXGOE LLC | Page d’agrégation des présentations et démonstrations de produits tiers | Ce n’est pas le service officiel de 2Noise |
| Démonstration gratuite sur le site web | Intégration dans la communauté Hugging Face Space | Démonstration par un tiers parlant | Les données et la disponibilité sont déterminées par des services externes. |
| Application de magasin du même nom | Autres développeurs | Client tiers | Ne peut pas être considéré comme l’application officielle de 2Noise |
Le lien du site du même nom mène au dépôt officiel, mais la page contient des incohérences concernant le nombre d’heures d’entraînement, continue de présenter les modèles déjà publiés comme des projets futurs, et affirme l’existence d’un SDK multilingue, entre autres éléments non confirmés par le projet officiel. La mise en œuvre réelle et les licences doivent se baser sur le dépôt actuel de 2Noise ainsi que sur les cartes de modèles.
État du modèle et des données d’entraînement
| Projet | État | Explication |
|---|---|---|
| Modèle principal | Non entièrement rendu public | Entraînement avec plus de 100 000 heures d’audio en chinois et en anglais |
| Modèle public | Déjà publié | Modèle pré-entraîné sur 40 000 heures, fine-tuning non supervisé |
| Langue principale | Chinois et anglais | L’anglais reste encore à l’état expérimental. |
| Droits sur les données d’entraînement | Le projet ne revendique pas la propriété. | Les données proviennent de sources publiques, le modèle est destiné uniquement à des fins académiques. |
| Gestion sécurisée | Des mesures de restriction ont été mises en place. | Ajouter une petite quantité de bruit à haute fréquence pendant l’entraînement, et compresser la qualité audio publique pour réduire le risque d’abus. |
Le modèle public n’est ni une version complète du modèle principal ayant été entraîné pendant 100 000 heures, ni un moteur de reconnaissance vocale commerciallement optimisé pour l’utilisateur final. L’ampleur de l’entraînement et la qualité sonore présentés sur le site ne peuvent pas remplacer des tests pratiques sur les poids publiés.
Fonction principale
Synthèse vocale dialoguée
- En saisissant du chinois, de l’anglais ou un mélange approprié des deux, le modèle génère une voix plus proche du rythme d’une conversation quotidienne.
- Idéal pour générer du son continu destiné aux assistants LLM, aux prototypes de dialogue, aux démonstrations de recherche et aux interactions à plusieurs tours.
- La sortie peut être enregistrée au format WAV avec un taux d’échantillonnage de 24000 Hz ; les exemples de la ligne de commande du dépôt génèrent également des fichiers MP3.
- Il est chargé de convertir le texte en parole, mais il n’est pas responsable de la compréhension des problèmes métier, de la recherche de connaissances ou de la génération de texte de dialogue.
Plusieurs interlocuteurs et timbres aléatoires
- Le modèle prend en charge plusieurs locuteurs, et les développeurs peuvent extraire des embeddings de locuteurs aléatoires pour obtenir différentes timbres de voix.
- Après avoir enregistré les embeddings des locuteurs obtenus par échantillonnage, il est possible d’essayer de réutiliser des timbres similaires dans les inférences ultérieures.
- Les locuteurs aléatoires ne sont pas des échantillons téléchargés pour la reconstitution de l’identité ; le dépôt public actuel ne considère pas la clonage de voix sans échantillon comme une fonctionnalité déjà mise en œuvre.
- Le lien de clonage de voix promu sur le site web du même nom mène vers d’autres produits et ne peut pas être considéré comme une fonctionnalité officielle du modèle ChatTTS.
Rires, pauses et contrôle du langage parlé
- Les suggestions au niveau de la phrase permettent d’ajuster l’intensité de oral, laugh et break, afin de contrôler le degré de parlé, la tendance au rire et la durée des pauses.
- Le contrôle au niveau des mots comprend actuellement principalement laugh, uv_break et lbreak, qui permettent d’insérer des rires ou des pauses différentes à des emplacements spécifiques.
- La température, top_P et top_K sont utilisés pour ajuster le hasard de l’échantillonnage ; les variations de ces paramètres affectent le timbre, la rythmique et la stabilité.
- Un meilleur contrôle émotionnel reste dans la feuille de route ; le modèle actuellement publié ne peut pas générer de manière stable selon n’importe quel label émotionnel.
Inférence en batch et outils locaux
- L’interface Python permet de soumettre plusieurs segments de texte en une seule fois et de retourner un tableau audio, ce qui est idéal pour générer en masse des matériaux de test hors ligne.
- L’entrepôt offre une interface en ligne de commande qui permet de sauvegarder directement un ou plusieurs segments de texte en audio local.
- L’exemple WebUI facilite le test des modèles locaux dans un navigateur, mais il s’agit d’un exemple de développement, et non d’une plateforme de production avec des comptes, des files d’attente et des SLA.
- Le dépôt officiel propose également des exemples de Colab ; son exécution dans le cloud est influencée par la durée de la session, les quotas GPU et les règles de stockage externe.
Entrée, paramètres et sortie
| Étape | Entrée | Sortie | effet |
|---|---|---|---|
| Raisonnement de base | Texte en chinois ou en anglais | Tableau d’audio | Transformer le texte en voix off |
| Contrôle du locuteur | Emboîtement du locuteur aléatoire ou enregistré | Tendance chromatique spécifique | Maintenir la cohérence du timbre de la voix du personnage |
| Rythme au niveau de la phrase | oral, rire, break indications | Ton parlé, rires et variations des pauses | Améliorer la performance du dialogue |
| Rythme au niveau des mots | marqueurs laugh, uv_break, lbreak | Rires ou pauses à des positions spécifiques | Mise en page précise des dialogues |
| Contrôle d’échantillonnage | température, top_P, top_K | Différentes niveaux de aléatoire et de qualité sonore | Sélectionner parmi plusieurs résultats |
| Enregistrer le fichier | Tableau audio et fréquence d’échantillonnage | WAV ou exemple MP3 | Montage, évaluation et diffusion |
Guide d’installation et d’utilisation locale
- Préparez un environnement Python 3.11 ; si une GPU est nécessaire, vérifiez d’abord la compatibilité entre les pilotes de carte graphique, CUDA, PyTorch et la mémoire vidéo disponible.
- Clonez le code depuis le dépôt officiel de 2Noise, ou installez le paquet ChatTTS sur PyPI ; ne téléchargez pas d’exécutables non identifiés depuis des sites de téléchargement du même nom.
- Installez les dépendances du projet dans un environnement virtuel indépendant, et vérifiez les versions des dépendances ainsi que les problèmes de sécurité connus avant la première exécution.
- Initialisez l’objet ChatTTS.Chat et appelez la méthode load actuelle pour charger le modèle ; load_models présent dans les anciens tutoriels est peut-être obsolète.
- Utilisez d’abord des phrases courtes pour exécuter infer, afin de vérifier que le téléchargement du modèle, le dispositif d’inference et le processus de sauvegarde audio à 24000 Hz fonctionnent correctement.
- Lorsqu’il est nécessaire de fixer un rôle, on échantillonne et on enregistre l’embedding du locuteur, puis on utilise ce même embedding pour tester la cohérence de plusieurs segments de dialogue.
- Utiliser des marques de contrôle au niveau de la phrase ou du mot pour ajuster le langage parlé, les rires et les pauses, en modifiant uniquement un petit nombre de paramètres à chaque fois tout en conservant des échantillons de comparaison.
- Les tâches en batch intègrent le nettoyage du texte, une longueur maximale, des tentatives de réessai en cas d’échec et une écoute manuelle, afin d’éviter que des entrées anormales ne provoquent un épuisement de la mémoire vidéo ou des fichiers audio de faible qualité.
- Marquer à l’avance la synthèse vocale avant sa diffusion externe et vérifier les autorisations, les droits des personnes et les risques liés au contenu ; les projets commerciaux ne doivent pas utiliser les poids actuels du modèle non commercial.
Matériel et performances
| Projet | Référence fournie par le entrepôt officiel | Impact réel |
|---|---|---|
| Mémoire vidéo audio de 30 secondes | Au moins 4 Go de mémoire vidéo GPU | Des textes plus longs, des volumes importants et la concurrence augmentent la demande. |
| Vitesse RTX 4090 | Environ 7 tokens sémantiques par seconde | Dépendant de la version, des paramètres et des entrées, il ne peut pas être généralisé à toutes les cartes graphiques. |
| Facteur en temps réel | Environ 0,3 | Le temps de génération est d’environ 30 % de la durée de l’audio, dans le cadre de conditions de test spécifiques. |
| Exécution du CPU | Le code peut essayer de raisonner localement | La vitesse est généralement plus lente, le projet ne dispose pas d’un référentiel CPU uniforme. |
| TransformerEngine | Il n’est pas recommandé de l’installer. | L’adaptation est encore en développement, elle ne fonctionne peut-être pas correctement pour le moment. |
| FlashAttention-2 | Non recommandé comme solution d’accélération | Les enregistrements du projet indiquent qu’il est possible que cela ralentisse même la vitesse de génération. |
Les chiffres officiels de performance ne servent qu’à estimer l’environnement de développement et ne garantissent pas le débit en production. Le service officiel doit faire l’objet de tests de charge en fonction de la longueur du texte cible, du nombre de connexions simultanées, du nombre de locuteurs et du matériel utilisé.
Limites des capacités et contraintes connues
- Les modèles auto-régressifs peuvent présenter un décalage du locuteur, une qualité sonore instable, des pauses anormales ou de grandes variations entre plusieurs résultats pour la même phrase.
- La proposition de projet préconise des prélèvements multiples pour obtenir de meilleurs résultats, ce qui signifie qu’elle n’est pas adaptée aux diffusions en temps réel critiques sans vérification.
- L’anglais reste un support expérimental ; les noms propres complexes, les abréviations, les chiffres, les langues mixtes et les phrases longues peuvent nécessiter un prétraitement.
- L’embedding fixe du haut-parleur ne peut améliorer que la cohérence du timbre, et ne permet pas de prouver avec précision l’identité, l’âge, le sexe ou les attributs émotionnels.
- Les modèles actuellement publiés ne offrent pas de clonage audio complet sans échantillon, de contrôle des émotions à volonté, ni de capacité de génération fluide formelle.
- La synthèse vocale ne garantit pas l’absence de bruits à haute fréquence, d’artefacts ou une qualité adaptée à une production de niveau broadcast ; la réduction du bruit en post-production peut également modifier le timbre de la voix.
Fonction feuille de route
| Fonctionnalité | État actuel | Utilisation du jugement |
|---|---|---|
| Génération audio en flux | Feuille de route | On ne peut pas concevoir des produits en temps réel en se basant sur les capacités déjà disponibles. |
| Encodage DVAE open source | Feuille de route | En attente du code officiel et de la licence |
| Inférence sans échantillon | Feuille de route | Il ne faut pas le promouvoir en tant que clonage de voix pour l’instant. |
| Contrôle des émotions multiple | Feuille de route | La portée de contrôle actuelle est limitée. |
| ChatTTS.cpp | Feuille de route et initiatives communautaires | Non livré en tant que version stable officielle multiplateforme |
| Modèle de détection | Plan d’ouverture | Il n’existe actuellement aucun service de détection public fiable sur lequel compter. |
Prix et coûts d’utilisation
2Noise ne propose pas de forfait cloud payant officiel pour ChatTTS ; le code et les modèles de recherche peuvent être téléchargés gratuitement. Le terme « gratuit » signifie qu’il n’est pas nécessaire d’acheter une abonnement pour le projet, mais cela ne veut pas dire qu’il n’y a pas de coûts liés au matériel, aux GPU en cloud, au stockage, à l’électricité et à la maintenance technique.
| Forfait ou version | Prix | Période de facturation | Droits ou crédit principal | Adéquat pour les utilisateurs |
|---|---|---|---|---|
| Code officiel | Obtenir gratuitement | Pas de abonnement | Code AGPLv3+, Python et outils d’exemple | Chercheurs et développeurs |
| Modèle public | Obtenir gratuitement | Pas de abonnement | Poids de pré-entraînement de 40 000 heures, uniquement à des fins de recherche éducative et non commerciales | Expérience académique |
| Puissance de calcul locale ou cloud | Tarification selon du matériel propre ou une plateforme cloud | Investissement en équipement ou selon le volume d’utilisation | Raisonnement, stockage et bande passante | Équipes nécessitant une exécution en batch |
| Démonstration de la page web du même nom | La page est indiquée comme gratuite | Services de tiers | Intégré dans l’espace communautaire, la quantité et la disponibilité ne sont pas garanties. | Écoute rapide à faible sensibilité |
| Autorisation commerciale | Pas de prix public fourni | Pas applicable | Les modèles actuellement publiés interdisent expressément toute utilisation commerciale. | Ne peut pas être utilisé pour un déploiement commercial |
Le site du même nom ne met pas en ligne de page de souscription ou de facturation pour ChatTTS, et ne peut pas non plus accorder d’autorisation commerciale au nom de 2Noise. Toute version mirror payante, tout hébergement d’API ou tout client doit faire l’objet d’une vérification indépendante concernant le développeur, les licences des modèles et la politique de données.
API, SDK et méthodes de déploiement
| Méthode | État actuel | Explication |
|---|---|---|
| Paquet Python | Fourni par les autorités | Principales méthodes d’appel programmé |
| Ligne de commande | Exemple officiel | Saisir le texte et enregistrer l’audio local |
| WebUI local | Exemple officiel | Conçu pour les tests, pas un service de gestion en production |
| Exemple d’API | Le dépôt contient des dossiers d’exemples et des notebooks. | Il faut le déployer et l’entretenir soi-même |
| 2 API cloud public Noise | Pas encore disponible | Pas de demande de clé publique, de prix, de limitation de débit ni d’SLA |
| SDK officiel multilingue | Pas encore disponible | Les affirmations générales de sites tiers manquent de preuves de projets officiels |
- Lorsque l’on expose ChatTTS en tant qu’API réseau, il est nécessaire de gérer les files d’attente, les délais d’expiration, l’isolation de la mémoire vidéo, le filtrage des entrées, l’authentification et la détection des abus.
- Les notebooks API OpenAI dans le dépôt officiel sont des exemples de déploiement ou de compatibilité, et ne représentent pas l’interface publique gérée par 2Noise.
- La WebUI communautaire, l’encapsulation API et les images ne sont pas des produits officiels ; leurs versions, licences et niveaux de sécurité varient.
Licences open source et restrictions commerciales
| Composant | Licence | Limite fondamentale |
|---|---|---|
| Code ChatTTS | AGPLv3+ | Il est nécessaire d’évaluer les obligations complètes en matière de logiciel libre lors de la modification, de la distribution et de la fourniture de services via Internet. |
| Modèle public | CC BY-NC 4.0 | Signature requise, à usage non commercial uniquement |
| Données d’entraînement | Le projet ne revendique pas la propriété. | L’accès public ne signifie pas l’absence de droits de tiers. |
| Générer de l’audio | Aucune autorisation commerciale complète n’est indiquée séparément. | Il est impossible de contourner les restrictions non commerciales du modèle |
- « Le code est open source », ce n’est pas synonyme de droits commerciaux pour les poids du modèle ; les deux licences doivent être respectées séparément.
- La carte du modèle indique clairement une utilisation pour l’éducation et la recherche ; l’audio généré ne doit pas être utilisé pour des publicités commerciales, des produits payants, le service client ou du contenu à but lucratif.
- L’AGPLv3+ impose des obligations spécifiques aux services en ligne et aux versions modifiées ; les organisations prévoyant une mise en œuvre publique doivent faire examiner leur architecture réelle par un expert en conformité.
- Si l’activité nécessite de la voix commerciale, il convient de choisir un modèle dont la licence autorise explicitement une utilisation commerciale ou d’obtenir une autorisation écrite du détenteur des droits.
Confidentialité, sécurité et risques d’abus
Lors d’une installation locale, la saisie de texte et la génération d’audio peuvent rester sur son propre appareil ou serveur, ce qui constitue l’avantage principal en matière de confidentialité par rapport aux démonstrations en cloud de tiers. Le projet ne dispose pas de politique de confidentialité concernant les comptes utilisateurs, la génération en ligne ou le stockage dans le cloud, car 2Noise ne gère pas de plateforme de génération publique.
- Les fichiers de modèle doivent généralement être téléchargés depuis une plateforme externe de hébergement de modèles, et l’environnement de déploiement génère toujours des requêtes réseau, du cache ainsi que des enregistrements d’installation des dépendances.
- La démonstration sur la page web du même nom transférera l’interaction au service tiers intégré Space ; les textes sensibles ne doivent pas être soumis sans vérifier ses politiques.
- Les applications tierces de l’App Store, les APIs communautaires et les miroirs gèrent leurs données par leurs propres développeurs, et il n’est pas possible d’appliquer les critères des projets locaux de 2Noise.
- La génération de voix ressemblant à celles d’êtres humains réels peut être utilisée pour se faire passer pour autrui, commettre des arnaques et induire en erreur ; il convient donc d’obtenir une autorisation pour l’utilisation de la voix et du texte, ainsi que d’indiquer clairement que le contenu est synthétisé.
- Le projet intègre du bruit haute fréquence et prévoit de mettre en place un modèle de détection, mais cela ne garantit pas que chaque segment audio puisse être détecté, soit marqué d’un watermark, ou ne puisse pas être détourné.
- Les API publiques doivent limiter la longueur des requêtes, le nombre de connexions simultanées et le contenu dangereux, enregistrer les informations d’audit nécessaires, tout en évitant de conserver des données personnelles non pertinentes.
Adapté aux utilisateurs et aux scénarios typiques
- Chercheurs en synthèse vocale : évaluation de la TTS conversationnelle, de plusieurs locuteurs et du contrôle rythmique.
- Développeur Python : créer des prototypes non commerciaux ou des outils de recherche locaux.
- Écoles supérieures et laboratoires : mener des expériences sur la prononciation en chinois et en anglais dans le cadre de la licence.
- Chercheur en applications LLM : générer des réponses orales pour les prototypes d’assistants de conversation et tester l’interaction.
- Apprenants en technologie audio : étude des paramètres d’échantillonnage, de l’incorporation du locuteur et des processus de sauvegarde audio.
- Non adapté aux produits commerciaux, à la publicité, au contenu payant et à l’imitation de voix non autorisée.
Avantages et limites
| aspect | Jugement pratique |
|---|---|
| Expression du dialogue | Mettre l’accent sur le langage oral, les rires, les pauses et plusieurs interlocuteurs est plus adapté aux expériences de conversation que les modèles de lecture pure. |
| Méthode de développement | Python, ligne de commande, WebUI et exemples abondants, pouvant fonctionner entièrement en local |
| langue | Le chinois et l’anglais sont acceptés, mais l’anglais reste expérimental. |
| Stabilité | La génération par régression autoregressive peut présenter du dérive, nécessitant de multiples échantillonnages et des écoutes manuelles. |
| En temps réel et clonage | Le streaming, zéro échantillon et d’autres émotions restent dans la feuille de route et ne peuvent pas être considérés comme des fonctionnalités actuelles. |
| Utilisation commerciale | Le modèle public indique clairement qu’il n’est pas à des fins commerciales, ce qui constitue la limite essentielle pour ses applications pratiques. |
| Expérience de la page web | Les sites web et démonstrations du même nom aident à comprendre les concepts, mais ce ne sont pas des services hébergés officiellement et les informations peuvent être contradictoires. |
Résumé
ChatTTS est adapté à la recherche sur la voix conversationnelle, les multiples interlocuteurs et un contrôle rythmique à faible résolution ; le dépôt officiel propose un guide complet pour démarrer, allant de l’inference en Python à une interface Web locale.
Lors de son utilisation, il est impératif de séparer le projet officiel 2Noise, le site web du même nom de NEXGOE LLC, l’espace communautaire et les applications tierces. Actuellement, les poids autorisés ne sont réservés qu’à des fins d’éducation et de recherche ainsi qu’à des utilisations non commerciales ; les projets commerciaux, la promotion de la clonage de sons et la génération en ligne de textes sensibles exigent une grande prudence.
Numéro d’enregistrement de sécurité publique du Guangxi : 45132202000164