Skip to main content

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.

Project description

Style-Bert-VITS2

[!IMPORTANT] 利用する前に、必ずお願いとデフォルトモデルの利用規約を確認してください。

Bert-VITS2 を基に、感情や発話スタイルの強さを連続的に制御できるようにした音声合成・学習プロジェクトです。音声合成エディター、Gradio WebUI、FastAPI サーバー、学習・モデル変換ツール、Python ライブラリを提供します。

このリポジトリは litagin02/Style-Bert-VITS2 の独立 fork です。上流への pull request や再合流を前提とせず、sync-dev-org/Style-Bert-VITS2 として独立してメンテナンスしています。元になった fishaudio/Bert-VITS2 と上流プロジェクトの作者・貢献者に感謝します。

この fork の主な変更点

  • パッケージングと環境構築の刷新: 依存定義を pyproject.toml に集約し、uv と uv.lock による再現可能な環境構築へ移行しました。ビルドバックエンドは hatchling、バージョンは hatch-vcs により vX.Y.Z tag から導出します。パッケージは src/style_bert_vits2/ の src layout です。
  • 現行 Python / PyTorch への対応: Python 3.10–3.12 を対象とし、PyTorch を optional dependency として整理しました。CUDA 12.9 用 PyTorch index を統一し、ONNX Runtime family は CUDA 12 runtime と整合する 1.24 系に固定しています。
  • 日本語処理の改善: 記号、数値、電話番号、郵便番号、住所などの正規化と g2p を拡充しました。pyopenjtalk worker は起動ディレクトリに依存せず、socket request とユーザー辞書アクセスを直列化して並行実行時の競合を防ぎます。
  • 学習パイプラインの安定化: 現行 PyTorch API への移行、rank 0 のみの checkpoint 保存、WSL2 での gloo backend 選択、再開時の learning rate fallback、前処理失敗の伝播などを追加しました。
  • 推論・変換の堅牢化: 空に近い入力、無音波形、行分割時の sampling rate、複数話者指定などの境界条件を修正しました。ONNX export を現行 PyTorch で利用できる状態へ戻し、AIVM / AIVMX 連携は削除しています。
  • 品質基盤の整備: リポジトリ全体へ Ruff の lint / format / import sorting を適用し、言語処理、推論、API、学習、ONNX export、worker 並行性などの test を拡充しました。コードから逆算した 8 系統の挙動仕様も整備しています。
  • Google Colab support の終了: Colab notebook は削除済みで、今後の動作保証対象にも含めません。

確定済みの対応範囲は要件正典、開発の現在地はロードマップを参照してください。

主な機能

  • 日本語・英語・中国語の音声合成
  • スタイルベクトルによる発話スタイルと強度の制御
  • 音声合成エディターと Gradio WebUI
  • 音声 dataset の作成、文字起こし、前処理、学習
  • 学習済みモデルと style vector の merge
  • safetensors model の ONNX 変換
  • FastAPI 音声合成 server
  • Python API による推論

既存の model_assets/ 形式にある学習済み model の読み込み互換を維持しています。

動作環境

  • Python 3.10 / 3.11 / 3.12
  • Windows、WSL2、Linux
  • 音声合成は CPU でも実行可能
  • 学習には NVIDIA GPU が必要

依存管理と repository checkout の install 経路は uv を正とします。Windows / Linux の CUDA 対応 package は PyTorch の cu129 index から解決されます。

インストール

Repository checkout

Git、Python 3.10 以上、uvを用意し、repository を clone します。

git clone https://github.com/sync-dev-org/Style-Bert-VITS2.git
cd Style-Bert-VITS2
uv sync --no-dev --extra torch --group webui
uv run python initialize.py

initialize.py は必要な BERT model とデフォルト TTS model を取得し、path 設定を初期化します。デフォルト model が不要な場合は --skip_default_models を指定できます。

uv run python initialize.py --skip_default_models

上流 release の sbv2.zipInstall-Style-Bert-VITS2*.bat は、この fork の install 経路ではありません。

Python library

PyPI 公開後は、推論用 library を次の配布名で install できます。

pip install style-bert-vits2-mk

配布名は style-bert-vits2-mk ですが、Python の import 名は従来どおり style_bert_vits2 です。

具体的な使用例は library.ipynb を参照してください。

from style_bert_vits2.constants import Languages
from style_bert_vits2.tts_model import TTSModel

起動方法

Repository checkout を初期化した後、目的に応じて次の command を実行します。

用途 コマンド
音声合成 editor uv run python server_editor.py --inbrowser
Gradio WebUI uv run python app.py
FastAPI server uv run python server_fastapi.py

FastAPI の endpoint 仕様は server 起動後の /docs で確認できます。CLI で dataset 作成、前処理、学習を行う場合は CLI guideを参照し、環境構築には本 README の手順を使用してください。

WebUI には音声合成、dataset 作成、学習、style 作成、merge、ONNX 変換の各画面があります。

モデル資産

推論には、model ごとに次の 3 種類の file が必要です。

model_assets/
└── <model-name>/
    ├── config.json
    ├── <model-file>.safetensors
    └── style_vectors.npy
  • config.json: model 構成
  • *.safetensors: 学習済み weight
  • style_vectors.npy: 利用可能な style と style vector

model を共有する場合は、この 3 種類を同じ directory 構造で共有してください。

ドキュメント

上流プロジェクトについて

上流の tutorial 動画、Hugging Face Space、release archive、version 履歴は上流版を対象とした情報です。この fork では動作や install 手順が異なるため、必要な場合は上流 repositoryの資料として参照してください。この fork の利用方法と対応範囲は本 README と docs/ を正とします。

系譜と謝辞

この repository の系譜は次のとおりです。

  1. fishaudio/Bert-VITS2
  2. litagin02/Style-Bert-VITS2
  3. sync-dev-org/Style-Bert-VITS2(本 fork)

Style-Bert-VITS2 は Bert-VITS2 v2.1 / Japanese-Extra を基に、style vector、各種 WebUI、safetensors 対応などを加えた project です。上流では Windows 向け環境構築の多くに EasyBertVits2 の成果が使われています。元 project とすべての contributor に感謝します。

ライセンス

本 repository は、Bert-VITS2 および上流 Style-Bert-VITS2 と同じ GNU Affero General Public License v3.0 で公開しています。

src/style_bert_vits2/nlp/japanese/user_dict/GNU Lesser General Public License v3.0 の対象です。由来と詳細は同 directory 内の README を参照してください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

style_bert_vits2_mk-2.8.8.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

style_bert_vits2_mk-2.8.8-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file style_bert_vits2_mk-2.8.8.tar.gz.

File metadata

  • Download URL: style_bert_vits2_mk-2.8.8.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for style_bert_vits2_mk-2.8.8.tar.gz
Algorithm Hash digest
SHA256 b777680eea2cc271f1994c6276ebbed5aac9fad1286ea0aed4aaae85e589f1d1
MD5 ddc7b58e7e709365d07237a5773b5e6b
BLAKE2b-256 216b4467ee2861c2ac5067dd8921671586c2a3d1f8dec99e56522680874accc5

See more details on using hashes here.

File details

Details for the file style_bert_vits2_mk-2.8.8-py3-none-any.whl.

File metadata

File hashes

Hashes for style_bert_vits2_mk-2.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 31be8dd3bc6839ab6e5c30f01a16989810f8ff9f4610743efe66302604308c31
MD5 fca6be2d791975e3c1b46e946b4edae6
BLAKE2b-256 27361c30024977184aa60dfcc90ef157528e015491126449ff77f2f045a48702

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page