AI

Style-Bert-VITS2の使い方 – インストール・学習・商用利用まで(v2.7.0)

Style-Bert-VITS2は、Bert-VITS2に話し方のスタイル制御を足した日本語音声合成ツールです。GPUが無いPCでも音声合成だけなら動き、NVIDIA GPUを積んだWindows機なら学習まで含めてbatファイルのダブルクリックで環境が整います。一方で「商用で使えるか」はコードとモデルで判断が分かれ、ここを読み違えるとクレジット表記漏れなどの規約違反になります。最新のv2.7.0(2025年8月24日リリース)時点の公式README・リリースノート・利用規約をもとに、導入から学習、モデル配布、ライセンスの線引きまでを整理します。

まとめ

  • 最新版はv2.7.0(2025-08-24)。ONNX変換GUIが追加され、AivisSpeech向けモデルの作成経路ができた。
  • 音声合成だけならCPUで動く。学習にはNVIDIA GPUが必須で、JP-Extra利用時のVRAM目安はバッチサイズ2(デフォルト)で約8GB、4で約12GB。
  • Pythonライブラリ版(pip install style-bert-vits2)は推論専用。学習まで行うならリポジトリをクローンするかWindows用zipを使う。
  • モデルの共有に必要なファイルはconfig.json*.safetensorsstyle_vectors.npyの3点。
  • 商用利用の可否はコードとモデルで別々に判断する。リポジトリはAGPL-3.0、同梱モデルは各コーパスの規約(小春音アミ・あみたろはクレジット表記が必須)に従う。

以下、それぞれの根拠と具体的な手順を見ていきます。

Style-Bert-VITS2の技術的な立ち位置 – Bert-VITS2との差分とJP-Extra

Bert-VITS2からのモデル構造上の差分

ベースはfishaudioが公開するBert-VITS2のv2.1およびJapanese-Extraで、モデル構造そのものは大きく変わっていません。公式READMEが挙げる差分のうち、モデル構造に関わるのは次の3点です。第一に、話者埋め込みモデルを256次元のwespeaker-voxceleb-resnet34-LMに変更したこと。これは「感情埋め込み」というより話者識別のための埋め込みです。第二に、その埋め込みからベクトル量子化を取り払い、単なる全結合層に置き換えたこと。第三に、学習時に生成されるstyle_vectors.npyによって、スタイルを「どれくらい効かせるか」まで連続値で指定できるようにしたことです。READMEはこのほか、各種WebUIの追加、bf16学習のサポート、safetensors形式の採用も差分として挙げています。

「WavLMベースの埋め込みを採用」と説明されることがありますが、READMEが名指ししているのはwespeakerのモデルで、WavLMではありません。事前学習モデル自体もBert-VITS2のものを不要な重みを削ってsafetensorsに変換したもので、Style-Bert-VITS2の独自性は音質そのものよりスタイル制御と使い勝手にあります。

JP-Extraを選ぶ基準

JP-Extraは日本語特化の構成で、v2.0(2024年2月3日)から利用できます。中国語・英語の処理を落として日本語の学習・推論に振ったもので、日本語だけを扱うなら基本はJP-Extraを選びます。事前学習モデルも通常版(Style-Bert-VITS2-1.0-base)とJP-Extra版(Style-Bert-VITS2-2.0-base-JP-Extra)で別に用意されており、学習WebUIでどちらを使うか選択します。

注意したいのは、通常版とJP-Extraはモデル構造が違うためマージできない点です。他人が公開しているモデルを取り込んで混ぜたい場合は、事前にどちらの構成で学習されたモデルかを確認してから揃える必要があります。

インストール – Windows・pip・Google Colabの使い分け

Windows:zipを展開してbatを実行

GitやPythonを触らずに使う場合は、リリースページのsbv2.zipをダウンロードし、日本語や空白を含まないパスに展開します。GPU搭載機ならInstall-Style-Bert-VITS2.bat、GPUが無ければInstall-Style-Bert-VITS2-CPU.batをダブルクリックすると、Python環境と依存ライブラリが自動で入り、最後に音声合成エディターが起動します。デフォルトモデルも同時にダウンロードされるので、学習しなくてもその場で合成を試せます。

更新はUpdate-Style-Bert-VITS2.batで行いますが、2.4.1未満から上げる場合はアップデート不能です。新しい場所に新規インストールし、model_assetsDataを手動で移す必要があります。

pip:推論専用のライブラリ版

アプリに音声合成を組み込むだけなら、Pythonライブラリとして導入できます。

pip install style-bert-vits2

このライブラリ版に含まれるのは音声合成(推論)の機能だけで、学習・データセット作成・マージのWebUIは付いてきません。使用例はリポジトリのlibrary.ipynbにまとまっています。学習もするなら、uvで仮想環境を作ってリポジトリをクローンする手順を取ります。

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
git clone https://github.com/litagin02/Style-Bert-VITS2.git
cd Style-Bert-VITS2
uv venv venv
venv\Scripts\activate
uv pip install "torch<2.4" "torchaudio<2.4" --index-url https://download.pytorch.org/whl/cu118
uv pip install -r requirements.txt
python initialize.py

最後のinitialize.pyで事前学習モデルとデフォルトTTSモデルが落ちてきます。これを忘れると合成時にモデルが見つからずエラーになります。動作確認が取れている環境はWindowsコマンドプロンプト・WSL2・Linux(Ubuntu Desktop)で、macOSは公式の確認対象に入っていません。

Google Colab・Docker – GPU無し環境と常駐API

GPUを持っていない場合、学習はGoogle Colabのノートブック(リポジトリのcolab.ipynb)で回せます。よくある失敗は、古いバージョンのノートブックのコピーを使い続けることです。公式FAQも「Colabノートブックは最新バージョンに合ったものを使う前提」と明記しており、学習が動かないときはまずノートブック側のバージョンを疑います。

Dockerについては、リポジトリに音声合成エディターをWebデプロイするためのDockerfile.deployが用意されています。学習環境をコンテナ化する公式イメージが配布されているわけではないので、サーバー常駐のAPIとして動かしたい場合はserver_fastapi.pyを起点に自前でイメージを組む形になります。

音声合成の実行 – エディターとAPIサーバー

エディターでのスタイル指定

Editor.batのダブルクリック、またはpython server_editor.py --inbrowserで音声合成エディターが起動します(--device cpuでCPUモード)。セリフ単位でモデル・スタイル・強度を切り替えながら原稿を組み立てられ、アクセント調整やユーザー辞書への単語追加もこの画面から行えます。エディター部分はStyle-Bert-VITS2-Editorという別リポジトリに分離されています。

スタイルは学習時に生成されるstyle_vectors.npyに紐づきます。デフォルトでは平均スタイル「Neutral」だけが作られますが、学習データを感情ごとのサブフォルダに分けておけば、v2.5.0以降はそのフォルダ名がそのままスタイルとして自動生成されます。感情を細かく出し分けたいなら、学習前のフォルダ分けが最も効きます。

APIサーバーと文字数上限

python server_fastapi.pyでAPIサーバーが起動し、仕様は起動後に/docsで確認できます。ここで最初につまずくのが入力文字数です。config.ymlserver.limitがデフォルト100文字に設定されており、長文を投げると弾かれます。上限を外すなら-1を指定します。

もう一点、CORS設定が初期状態では全ドメイン許可になっています。公開サーバーに置くならconfig.ymlserver.originsを信頼できるドメインだけに絞ってください。VTuber配信やチャットボットの音声出力に組み込む場合もこのAPIサーバー経由になりますが、初期設定のまま外部公開すると誰でも合成を実行できる状態になります。

学習 – データ量・VRAM・ステップ数の目安

データセット作成 – 2〜14秒のスライスと自動書き起こし

学習には2〜14秒程度に分割された音声ファイルと、その書き起こしテキストが必要です。長い録音しかない場合は、WebUIの「データセット作成」タブ(またはDataset.bat)でスライスと自動書き起こしまで行えます。v2.7.0では書き起こしの音声認識モデルとしてlitagin/anime-whisperが選べるようになりました。書き起こしでエラーが出るときの原因はほぼffmpeg未導入で、公式FAQもwinget install ffmpegを案内しています。

書き起こし精度は学習品質にそのまま響きます。読みの誤りが多い場合は、外部で精度の高い認識を回してからテキストを持ち込む手もあります(Whisperを使用したリアルタイム文字起こしの実現方法で扱っている構成が参考になります)。

VRAMとバッチサイズ

学習にはNVIDIA GPUが必須です。JP-Extra使用時のVRAM使用量は、v2.2のリリースノートがバッチサイズごとの目安を示しています(バッチサイズが1増えるごとに約2GB増える見当です)。

バッチサイズ VRAM使用量の目安
1 約6GB
2(デフォルト) 約8GB
3 約10GB
4 約12GB

VRAMから溢れると学習が極端に遅くなるため、途中で速度が落ちたらまずバッチサイズを下げます。逆にVRAMに余裕があるなら上げてかまいません。

必要なデータ量とステップ数

公式FAQは、必要な音声データ量もステップ数も「分かりません。試行錯誤してください」と正直に書いています。そのうえで参考値として、数分程度でも学習は成立するとされ、RVCでよく言われる説として「多くても45分ほどで十分」も挙げられています。ステップ数は2k〜3kで声質が似始め、5k〜15kで感情表現も含めて仕上がってくる、というのが目安です。

「どのステップのモデルが良いか」を機械的に見るなら、同梱のpython speech_mos.py -m モデル名でSpeechMOSによる自然性スコアを出せます。ただしアクセントや抑揚を評価しない指標なので、最終判断は必ず耳で行ってください。学習を止めたいときはコンソールを閉じるだけでよく、再開は同じモデル名で前処理を飛ばして「学習を開始する」を押します。

学習済みモデルの入手と配布 – 必要なファイルは3つ

モデル共有に必要なファイル

推論に必要なのはconfig.json*.safetensorsstyle_vectors.npyの3ファイルです。これらをmodel_assets/モデル名/に置けば読み込まれます。Hugging Faceなどで配布されているモデルを使う場合も、この3点が揃っているかを最初に確認します。style_vectors.npyが欠けているとスタイル指定が機能しません。

デフォルトで付いてくるのはJVNVコーパス由来の4モデル(jvnv-F1-jp、jvnv-F2-jp、jvnv-M1-jp、jvnv-M2-jp)と、v2.5.0で追加された小春音アミ・あみたろです。小春音アミとあみたろはHugging Faceのlitagin/sbv2_koharune_amilitagin/sbv2_amitaroで単体配布されており、JP-Extraの事前学習モデルはlitagin/Style-Bert-VITS2-2.0-base-JP-Extraにあります。第三者の配布モデルを使う場合も、この3ファイル構成と配布元の規約を必ず確認してください。

マージで別モデルを作る場合の制約

マージ機能では「声質」「声の高さ」「感情表現」「テンポ」の4軸で2モデルを混ぜられます。v2.6.0からは差分マージ(A + weight × (B - C))、加重和マージ、ヌルモデルマージも使えます。囁き声の実験用ヌルモデルがlitagin/sbv2_null_modelsとして公開されており、任意のモデルをある程度は囁き調に寄せられます。

ただしマージは規約の影響を最も受けやすい操作です。あみたろ系モデルの場合、マージ相手のモデルは学習に使われた声の権利者が許諾している場合に限られ、あみたろの声の特徴が残る割合(25%以上)ではマージ後のモデルにもあみたろの声素材工房の規約が引き継がれます。「自作モデルだから自由」とはならない点に注意してください。

ONNX変換とAivisSpeech連携 – v2.7.0で増えた出口

ONNX変換の使いどころ

v2.7.0でタブに「ONNX変換」が追加され(ConvertONNX.batでも起動可)、学習済みのsafetensorsファイルをONNX形式へ変換できるようになりました。狙いは高速化そのものよりも、ONNXしか受け付けない外部ライブラリやランタイムへモデルを持ち出せるようにすることです。PyTorchに依存しない実行環境へ載せられるため、推論をサーバーサイドの軽量プロセスやエッジ側に置く構成が取りやすくなります。ONNXという形式自体の仕組みはONNXとは?モデル変換・推論の仕組みと使い方を初心者向けに解説で整理しています。

推論のリアルタイム性を高めることを目的とした公式オプションは、READMEとリリースノートを見る限り用意されていません。合成が遅い場合、まず効くのはGPU実行への切り替えと、APIサーバー側でモデルをプロセス常駐させて起動コストを払い直さないことです。

AivisSpeechへの持ち出し

ONNX変換GUIが入った直接の動機は、Aivis Projectとの連携です。AivisSpeechはVOICEVOXのエディターUIをベースにした日本語音声合成ソフトで、対応モデルアーキテクチャとしてStyle-Bert-VITS2Style-Bert-VITS2 (JP-Extra)を挙げています。AIVM Generatorにsafetensorsとonnxを渡すとAivisSpeech用のモデルファイルを作れます。

ここが「Style-Bert-VITS2の後継は何か」という疑問への実質的な答えです。Style-Bert-VITS2のリポジトリ自体は2025年8月のv2.7.0が最新で、機能追加のペースは落ちています。一方、学習したモデルをVOICEVOX風のGUIで配布・利用したいなら、Style-Bert-VITS2で学習してAivisSpeechへ持ち出す、という分業が現時点で最も実用的です。学習パイプラインを捨てる必要はありません。

ライセンスと商用利用 – コードとモデルを分けて判断する

コード側:AGPL-3.0の影響範囲

リポジトリのライセンスはAGPL-3.0です(元のBert-VITS2と同じ)。加えてtext/user_dict/モジュールはVOICEVOXエンジン由来のためLGPL-3.0です。AGPL-3.0は、改変したコードをネットワーク越しのサービスとして提供する場合にも、利用者へソースコードを提供する義務が生じる点が特徴です。自社サービスの裏側でAPIサーバーとして動かす構成は、まさにこの条項が問題になり得る使い方にあたります。

社内利用にとどめる、あるいはソース公開を受け入れる、という判断ができないなら、Style-Bert-VITS2のコードを自社プロダクトへ組み込むのは避けるべきです。ライセンスの解釈が事業リスクになる領域なので、商用サービスに載せる前に法務確認を通してください。音声合成をSaaS的に使いたいだけなら、Google Cloud Speech-to-Textとは?料金・無料枠・日本語対応・APIの使い方を解説で扱うようなクラウドAPI系の選択肢のほうが権利関係は単純です。

モデル側:規約はコードと別に付いてくる

リポジトリ自体にモデルは含まれておらず、モデルの規約はリポジトリのライセンスとは無関係に成立します。デフォルトモデルの条件は次のとおりです。

モデル 由来 条件
jvnv-F1-jp ほか3種 JVNVコーパス CC BY-SA 4.0を継承
koharune-ami / amitaro あみたろの声素材工房 商用可・クレジット表記必須

小春音アミ・あみたろは、規約を守れば商用非商用を問わず使えますが、生成音声を公開する際はStyle-BertVITS2モデル: 小春音アミ、あみたろの声素材工房 (https://amitaro.net/)のようなクレジット表記が必須です。年齢制限のある作品、政治・宗教絡みの用途、生成音声をあみたろ本人の声として扱う行為は禁止されています。JVNV由来のモデルはCC BY-SA 4.0なので、継承条件(同一ライセンスでの再配布)が付く点に注意が必要です。

なお、リポジトリのdocs/TERMS_OF_USE.mdにある「やってほしくないこと」(政治利用、なりすまし・ディープフェイク目的など)は、2024年6月14日の改訂で拘束力のある利用規約ではなく開発陣からの「お願い」に位置づけ直されています。拘束力があるのはリポジトリのライセンスと各モデルの規約であり、この2つを分けて確認するのが実務上の正解です。

起動しない・失敗するときの切り分け

公式README・FAQ・変更履歴から、原因が特定できているトラブルは次のとおりです。

  • 書き起こしでエラーが出る:ffmpegが未導入。Windowsならwinget install ffmpegで解決する。
  • ModuleNotFoundError: No module named '_socket':インストール後にフォルダ名を変更している。パスが変わるためエラーになる。フォルダ名を元に戻す。
  • そもそも起動しない:展開先のパスに日本語や空白が含まれている可能性が高い。パスに日本語を含まない場所へ入れ直す。
  • Colabの学習が動かない:古いノートブックのコピーを使っている。最新のcolab.ipynbを取り直す。
  • 学習が異常に遅い:バッチサイズが大きすぎてVRAMから溢れている。バッチサイズを下げる。

これらに当てはまらないエラーは、GitHubのIssueを検索するのが早道です。個人開発のプロジェクトである以上、環境依存の問題は自力で切り分ける前提で導入を判断してください。

よくある質問

Style-Bert-VITS2は商用利用できますか?

コードとモデルを分けて判断します。リポジトリのコードはAGPL-3.0で、改変してネットワークサービスとして提供する場合はソース公開義務が生じ得ます。モデル側は、JVNVコーパス由来のモデルがCC BY-SA 4.0、小春音アミ・あみたろは商用可ですが、あみたろの声素材工房のクレジット表記が必須です。自分で学習したモデルを使う場合も、学習データの権利者が定める条件に従う必要があります。

GPUがなくても使えますか?

音声合成とモデルのマージはCPUのみで動きます。Windows用インストーラーにもCPU版(Install-Style-Bert-VITS2-CPU.bat)が用意されています。学習にはNVIDIA GPUが必須で、CPUでは行えません。GPUを持っていない場合はGoogle Colabのノートブックで学習を回すのが現実的です。

Style-Bert-VITS2の後継はありますか?

リポジトリを引き継ぐ「後継版」は存在しません。最新はv2.7.0(2025年8月24日)です。ただしv2.7.0で追加されたONNX変換により、学習済みモデルをAivisSpeech(Aivis Project)へ持ち出せます。AivisSpeechはStyle-Bert-VITS2およびJP-Extraのアーキテクチャに対応しており、VOICEVOXベースのエディターで配布・利用したい場合の受け皿になります。

JP-Extraと通常版は混ぜて使えますか?

モデル構造が異なるため、JP-ExtraモデルとJP-Extraでないモデルはマージできません。事前学習モデルも別々に用意されています(Style-Bert-VITS2-1.0-base と Style-Bert-VITS2-2.0-base-JP-Extra)。日本語のみを扱うならJP-Extraで統一しておくのが無難です。

APIで長い文章が合成できないのはなぜですか?

server_fastapi.pyの入力文字数がデフォルトで100文字に制限されているためです。config.ymlserver.limitを任意の数値に変更するか、上限を外す場合は-1を指定します。あわせてserver.originsでCORSの許可ドメインを絞っておくことをおすすめします(初期値は全ドメイン許可)。

関連記事

資料請求

RELATED POSTS 関連記事