Bert-VITS2 : un modèle TTS multilingue que ses propres auteurs redirigent vers Fish-Speech
vits2 backbone with multilingual-bert
En bref
- De quoi s’agit-il ?
- Bert-VITS2 empile un BERT multilingue sur un squelette VITS2 pour produire de la synthèse vocale. Le dépôt est vivant, mais le README annonce lui-même une maintenance en pause et renvoie vers Fish-Speech. Voici ce qu'il reste à comprendre avant de cloner.
- À qui s’adresse-t-il ?
- Bert-VITS2 convient à celles et ceux qui veulent lire et modifier du code TTS, ou reproduire les recettes Extra et JP-Exta sur un corpus déjà préparé. Il ne convient pas à un produit vocal en production : le README indique que le projet n'est plus maintenu à court terme et recommande Fish-Speech à sa place.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions strictes. AGPL-3.0 est une licence à copyleft réseau : si des personnes utilisent une version modifiée via un réseau, par exemple comme service hébergé, vous devez leur proposer son code source sous la même licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un BERT multilingue greffé sur VITS2, pas un nouveau modèle de bout en bout
Le sous-titre du dépôt est explicite : vits2 backbone with multilingual-bert. Bert-VITS2 ne remplace pas l'architecture VITS2, il l'alimente. Là où un VITS classique dérive ses conditions à partir de phonèmes et d'un vecteur de locuteur, ce projet insère un encodeur BERT multilingue qui fournit une représentation textuelle plus riche. Le README ne détaille pas la couche d'alignement entre ces représentations et le décodeur, il faut donc lire le code pour trancher ce point.
Le public visé est précis. Le README prévient, dans une formule qui ne laisse guère de place au doute, que les utilisateurs confirmés doivent lire le code eux-mêmes pour apprendre à entraîner le modèle. Ce n'est pas un outil clé en main pour quelqu'un qui découvre la synthèse vocale. C'est un dépôt pour ingénieurs qui acceptent de parcourir des scripts Python et de préparer leurs données à la main.
L'ascendance est revendiquée sans ambiguïté. Le README cite anyvoiceai/MassTTS comme source de l'idée centrale, aux côtés de jaywalnut310/vits, p0p4k/vits2_pytorch et svc-develop-team/so-vits-svc. Bert-VITS2 est donc une réécriture d'une chaîne d'idées existantes, pas une architecture née de zéro.
webui_preprocess.py comme point d'entrée réel
Le README ne consacre aucune section à l'installation. Il indique seulement, pour le guide rapide, de se référer à webui_preprocess.py. C'est la seule instruction de mise en route fournie, et elle implique une interface web de prétraitement plutôt qu'une ligne de commande unique.
Le dépôt ne publie ni requirements.txt détaillé dans l'extrait fourni, ni commande pip, ni script d'installation. Toute description de l'environnement Python, des versions de PyTorch ou des dépendances audio serait donc une invention. Ce qui est vérifiable se limite à la langue principale, Python, et au fait que le prétraitement passe par un fichier nommé webui_preprocess.py.
Cette absence de documentation d'installation n'est pas un oubli isolé. Elle est cohérente avec la position affichée par le projet : le README s'adresse à des gens qui liront le code. Pour un lecteur francophone, cela signifie concrètement qu'il faut ouvrir ce fichier avant toute autre chose, comprendre quelles entrées il attend, et reconstituer la chaîne d'appel à partir du code source.
Extra, Extra-v2, JP-Exta : trois branches de spécialisation linguistique
Les trois versions publiées entre janvier et février 2024 racontent une histoire utile. Extra, datée du 4 janvier, est décrite comme une version spécialisée pour le chinois. Extra-v2, le 25 janvier, est présentée comme une correction de cette spécialisation chinoise. JP-Exta, le 1er février, est une version spécialisée pour le japonais.
Autrement dit, le modèle de base multilingue n'a pas suffi. Il a fallu produire des variantes par langue, et corriger la première tentative chinoise trois semaines plus tard. C'est un signal concret sur la difficulté du multilingue en synthèse vocale : un encodeur BERT partagé ne garantit pas une qualité homogène selon la langue cible, et les mainteneurs ont choisi la spécialisation plutôt que l'ajustement d'un modèle unique.
Pour un lecteur qui doit choisir, cela oriente la décision. Si votre corpus est japonais, JP-Exta est la piste à examiner en premier. Si votre corpus est chinois, Extra-v2 est la version corrigée. Le dépôt ne fournit pas de tableau comparatif chiffré entre ces variantes, et aucune métrique n'est avancée dans le README pour justifier ces sorties.
Le README recommande lui-même un autre projet
C'est le point le plus important du dépôt, et il figure en tête du README. Le texte annonce que Fish-Speech, un TTS autorégressif de FishAudio, est disponible, qu'il représente selon ses auteurs l'état de l'art open source actuel, qu'il est activement maintenu, et qu'il est recommandé comme remplacement de BV2 et de GSV. La phrase suivante indique que le projet ne sera plus maintenu à court terme.
Il faut prendre cette déclaration au sérieux. Un dépôt dont les propres mainteneurs écrivent qu'il n'est plus maintenu change de nature : il devient une archive de référence, pas une base de production. Le champ Archived du dépôt indique false, et le dernier push est daté du 7 septembre 2026. Il y a donc une activité récente sur le dépôt, mais elle ne contredit pas la position affichée dans le README.
Cette configuration est inhabituelle et mérite d'être nommée. La plupart des projets en fin de vie se contentent d'un avertissement discret. Ici, la redirection est placée en évidence, avec un lien direct vers le successeur. C'est honnête, et c'est aussi un aveu : la maintenance du modèle multilingue coûte plus cher que ce que l'équipe souhaite y consacrer.
AGPL-3.0 : ce que la licence impose au delà du code
Le dépôt est publié sous AGPL-3.0. Cette licence est une GNU Affero General Public License, c'est-à-dire une GPL à laquelle s'ajoute une clause sur l'usage en réseau. Le point pratique : si vous faites tourner un service accessible à des utilisateurs par le réseau et que vous distribuez une version modifiée du logiciel, la clause AGPL étend l'obligation de fourniture du code source à cette mise à disposition réseau.
Pour un modèle de synthèse vocale, la question se pose vite. Un service de lecture de texte ou de doublage accessible par API tombe dans ce périmètre. Une utilisation strictement interne, sans accès réseau d'utilisateurs tiers, n'a pas la même portée. Je ne donne pas de conseil juridique ici : le fichier LICENSE du dépôt est le seul document qui fait foi, et il faut le lire avant d'intégrer le code à un produit.
Il faut aussi noter que la licence couvre le code du dépôt. Elle ne dit rien, dans les éléments fournis, du statut des poids de modèle publiés dans les versions Extra et JP-Exta. Cette distinction entre code et poids n'est pas traitée par le README, et c'est une zone à vérifier séparément si vous prévoyez une redistribution.
Fish-Speech : une approche autorégressive, pas un VITS amélioré
L'alternative désignée par les mainteneurs eux-mêmes est Fish-Speech, du même éditeur. La différence d'approche est structurelle, pas cosmétique. Bert-VITS2 reste un modèle non autorégressif : il produit la sortie en une passe, avec un décodeur VITS2 conditionné par un BERT multilingue. Fish-Speech est décrit dans le README comme autorégressif, ce qui signifie une génération pas à pas, avec une architecture et un pipeline d'entraînement distincts.
Ce changement de famille a des conséquences pratiques. Un modèle autorégressif se comporte différemment en inférence : la latence et le débit ne suivent pas la même logique qu'un modèle en une passe. Le README ne fournit aucun chiffre comparatif entre les deux projets, et je n'en avancerai aucun. Ce qui est affirmé, c'est un jugement de qualité et un engagement de maintenance, pas une mesure.
D'autres alternatives existent et sont citées dans les références du dépôt, notamment PaddleSpeech de PaddlePaddle et emotional-vits. Leur présence dans la liste montre que l'écosystème TTS open source est dense. Le choix entre ces projets ne se réduit pas à la qualité brute : la disponibilité de la documentation, la langue cible et la stabilité de la maintenance pèsent au moins autant.
Ce qu'il faut vérifier avant de cloner
Trois points concrets, tous traçables dans le matériel fourni. D'abord, ouvrez webui_preprocess.py : c'est le seul point d'entrée documenté, et il détermine la forme des données que vous devrez préparer. Ensuite, lisez les notes des versions Extra, Extra-v2 et JP-Exta pour identifier laquelle correspond à votre langue, en gardant à l'esprit que la version chinoise a nécessité une correction.
Enfin, lisez le fichier LICENSE. Le dépôt est en AGPL-3.0, et cette licence a des implications directes pour tout service exposé sur un réseau. Le README ne traite pas ce sujet, il faut donc aller au texte de la licence.
Ce qui n'est pas dans le matériel fourni et qu'il ne faut pas supposer : les commandes d'installation, les dépendances exactes, les besoins matériels, les temps d'entraînement, les métriques de qualité. Aucun de ces éléments n'apparaît dans le README. Le dépôt a une page d'accueil vide et ne référence que des vidéos de démonstration externes, ce qui ne remplace pas une documentation technique.
Conclusion éditoriale
Bert-VITS2 convient à celles et ceux qui veulent lire et modifier du code TTS, ou reproduire les recettes Extra et JP-Exta sur un corpus déjà préparé. Il ne convient pas à un produit vocal en production : le README indique que le projet n'est plus maintenu à court terme et recommande Fish-Speech à sa place. Avant tout clone, vérifiez la licence AGPL-3.0 dans LICENSE, puis ouvrez webui_preprocess.py et lisez les notes de version Extra-v2 et JP-Exta pour savoir quel corpus correspond à votre langue.
Notes de la communauté