Bert-VITS2: A Multilingual TTS Backbone That the Authors Have Already Left Behind
vits2 backbone with multilingual-bert
At a glance
- What is it?
- Bert-VITS2 pairs a VITS2 backbone with multilingual BERT for expressive Chinese and Japanese speech, but the repository is now in maintenance-only mode. This review covers its mechanism, setup, limitations, and why the authors point you elsewhere.
- Who is it for?
- Bert-VITS2 is for researchers and hobbyists who want to experiment with BERT-guided prosody in VITS2 and are comfortable with a Python codebase that expects manual training. It is not for production deployments or for teams that need ongoing support, since the repository is no longer actively maintained and the authors explicitly recommend Fish-Speech as a replacement.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 5 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- fishaudio/Bert-VITS28,802 ★ · +1
| Repository | 2026-09-10 | 2026-11-13 |
|---|---|---|
| fishaudio/Bert-VITS2 | 8.8k | 8.8k |
1 Stars in the last 64 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
What Bert-VITS2 Actually Does
Bert-VITS2 is a text-to-speech model that takes the VITS2 architecture and adds a multilingual BERT. The intended user is someone who has experience training neural TTS models and wants a higher-quality voice for a specific character or language, not a beginner looking for a plug-and-play tool. The README is blunt about this: mature users are told to read the code and learn how to train on their own.
Architecture: VITS2 Meets BERT
The repository builds on the VITS2 backbone, which is itself an evolution of the original VITS model, and integrates a multilingual BERT model to condition the speech synthesis. The README credits several upstream projects: anyvoiceai/MassTTS for the core idea, jaywalnut310/vits for the base VITS implementation, and p0p4k/vits2_pytorch for the VITS2 code. The BERT part is not described in detail in the README; the project's name and description say only that a multilingual BERT is added to the VITS2 backbone.
Getting It Running: Commands and Configuration
The README is sparse on setup instructions. It points to a file called webui_preprocess.py as the quick guide, which suggests that preprocessing and training are driven through a web interface or a Python script that handles dataset preparation. There are no explicit pip install commands or configuration keys in the README. Based on the repository layout and the release notes, you would clone the repository, install the dependencies listed in the project's requirements files, and then run webui_preprocess.py to prepare your dataset. The model expects paired text and audio files, and it uses BERT models for the target language, so you need to ensure that the appropriate BERT checkpoint is available for Chinese or Japanese. The release notes mention a Chinese-specialized version (Extra-v2) and a Japanese-specialized version (JP-Exta), which implies that language-specific tuning is required for best results. Without more documentation, you must rely on the code comments and the webui_preprocess.py script to understand the exact steps.
Limitations: Maintenance Has Stopped and Language Coverage Is Narrow
The most significant limitation is that the project is no longer actively maintained. The README states clearly that the project will not be maintained in the short term, and it recommends Fish-Speech as a replacement. This means that bugs, security issues, and compatibility problems with newer Python versions or PyTorch releases are unlikely to be fixed. Another limitation is language coverage: the specialised releases target Chinese and Japanese, while requirements.txt also lists English text-processing packages such as g2p_en and cmudict, so check the code for the language you need. The training pipeline is also complex, as the README hints that users are expected to learn from the code, which is a high barrier for entry. Finally, the model's performance is not documented in the README, so you cannot compare it quantitatively to other TTS systems without running your own experiments. The authors' own recommendation to switch to Fish-Speech suggests that Bert-VITS2's quality, while good, has been surpassed.
The Wrong Tool for Production, Maybe Right for Research
Bert-VITS2 is not a production-ready TTS service. It is a research codebase with a training pipeline that requires manual dataset preparation, GPU resources, and familiarity with the code. The repository includes infer.py, webui.py and ONNX export and inference scripts, but the README documents none of them, so deploying it would require significant engineering effort. For a hobbyist who wants to create a voice for a game character or an anime figure, the effort might be justified if the target language is Chinese or Japanese and the user is willing to troubleshoot. For a team that needs a reliable TTS engine, the maintenance status alone is a disqualifier. The README's own advice to use Fish-Speech is a strong signal that Bert-VITS2 is a stepping stone, not a destination. If you are researching BERT-guided TTS, this repository is a useful reference implementation, but expect to fork it and maintain it yourself.
Alternatives: Fish-Speech and the Original VITS
The README explicitly names Fish-Speech as the recommended alternative. Fish-Speech is an autoregressive TTS model from the same organization, FishAudio, and it is described as having the best open-source performance at the time of writing, with ongoing maintenance. The key difference in approach is that Fish-Speech uses an autoregressive architecture, which generates speech token by token, whereas Bert-VITS2 uses a non-autoregressive flow-based model that generates speech in parallel. Autoregressive models often produce more natural prosody but are slower at inference. Another alternative is the original VITS2 implementation from p0p4k/vits2_pytorch, which Bert-VITS2 builds upon. That project offers a cleaner VITS2 baseline without BERT, which might be easier to understand and train if you do not need the semantic conditioning. The README's reference list also includes PaddleSpeech, which is a broader speech toolkit that includes TTS and might offer more production-ready deployment options. The choice between these depends on whether you prioritize quality (Fish-Speech), simplicity (VITS2), or ecosystem support (PaddleSpeech).
Licence and Upgrade Cost
Bert-VITS2 is licensed under AGPL-3.0, which has implications if you plan to use it in a commercial product. The AGPL requires that if you modify the code and provide it over a network, you must make the source code available to users. This is a strict copyleft license, and it may be a barrier for companies that do not want to open-source their modifications. The README also contains a warning against using the project for any purpose that violates Chinese law or for political uses, which is a legal restriction that may be relevant depending on your jurisdiction. As for maintenance and upgrade cost, the project is not being actively developed, so there is no upgrade path. You would have to monitor the repository for any changes, but the last push is from October 2026, and the README explicitly says maintenance has stopped. If you adopt Bert-VITS2, you are taking on the full burden of fixing any issues that arise with your environment. The release history shows that the last releases were in early 2024, with a Japanese-specialized version and two Chinese-specialized versions, but no further updates after that. This means the model architecture is frozen, and you cannot expect improvements or new features.
Editorial conclusion
Bert-VITS2 is for researchers and hobbyists who want to experiment with BERT-guided prosody in VITS2 and are comfortable with a Python codebase that expects manual training. It is not for production deployments or for teams that need ongoing support, since the repository is no longer actively maintained and the authors explicitly recommend Fish-Speech as a replacement. Before adopting it, verify that your target language is covered by the available BERT models, check the licensing terms of any pretrained checkpoints you plan to use, and review the training pipeline in webui_preprocess.py to confirm you can supply the required text and audio alignment. If you need a maintained, out-of-the-box TTS, choose Fish-Speech instead.
Frequently asked questions
What is fishaudio/Bert-VITS2?
A VITS2 backbone with multilingual BERT, written in Python and licensed under AGPL-3.0. The readme credits the core idea to another project, MassTTS, and lists several upstream references including the original VITS implementation and the VITS2 PyTorch port.
Is Bert-VITS2 still maintained?
The readme says this project will not be maintained in the short term and recommends a newer autoregressive text-to-speech project from the same organisation instead, describing it as available, at the current open-source state of the art and still under active maintenance. The repository itself has seen recent commits, so activity and the stated maintenance intention differ.
How do I train a model with Bert-VITS2?
There is no written tutorial. The readme tells experienced users to read the code to learn the training process, and points at a preprocessing script as the quick guide. The repository contains a training script and a shell script for running across multiple nodes and GPUs, and the configuration is in a config directory with a default configuration file.
What does Bert-VITS2 add to plain VITS?
According to the project description it is a VITS2 backbone with multilingual BERT, meaning the text side of the pipeline goes through a multilingual BERT encoder rather than the simpler front end. The readme also states the core idea came from MassTTS and that the author chose this direction after finding the audio quality of the other approach lagged VITS while its training pipeline was more complex.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/fishaudio-bert-vits2)Star history chart for your README
[](https://hysenlabs.com/projects/fishaudio-bert-vits2)Was this useful?