Style-Bert-VITS2でずんだもんの声を学習させてみた(GoogleColabのノート付き)

チュートリアル

近年、AI技術の進化は目覚ましく、その一環として音声合成技術も大きく前進しています。特に、話者の声質や話し方を模倣する技術は、エンターテイメントから教育まで幅広い分野での応用が期待されています。この記事では、Style-Bert-VITS2を用いて、特定のキャラクター、ずんだもんの声を学習させるプロセスをご紹介します。この技術により、キャラクターがリアルタイムでユーザーと対話できるようになるかもしれません。


こちらの記事もおすすめ

Style-Bert-VITS2で生成した音声をVTube StudioとPython連携して表情を制御してみた
最新技術を駆使して、リアルタイムでキャラクターの表情をコントロールすることは、多くのバーチャルYouTuberやストリーマーにとって非常に興味深いトピックです。この記事では、Style-Bert-VITS2で生成した音声を使い、VTube ...
DockerでStyle-Bert-VITS2 APIを簡単構築し音声合成を体験しよう【ワンパン構築】
Dockerを使って、AI音声合成のプロジェクト「Style-Bert-VITS2」のAPIを簡単に構築し、実際に動かしてみましょう。この記事では、初心者の方でも理解できるように、コードブロックを交えて解説します。PythonとDocker...

デモ動画

環境構築

まずは、プロジェクトを始めるための環境を構築する必要があります。Google Colabは、ブラウザ上でPythonコードを書いて実行できるサービスです。GPUを無料で使うことができ、機械学習の実験に最適です。


!git clone https://github.com/litagin02/Style-Bert-VITS2.git
%cd Style-Bert-VITS2/
!pip install -r requirements.txt
!apt install libcublas11
!python initialize.py --skip_jvnv

上記のコードは、Style-Bert-VITS2のGitHubリポジトリをクローンし、必要なライブラリをインストールするためのものです。%cdコマンドでディレクトリを移動し、その後必要なパッケージをインストールします。

Google Driveのマウント

プロジェクトのファイルを保存するために、Google Driveをマウントします。これにより、学習データや結果を簡単に管理できます。

from google.colab import drive
drive.mount("/content/drive")

学習データの準備

学習には、音声ファイルとそれに対応するテキストが必要です。音声は2-12秒の長さが理想的です。テキストデータは、音声ファイル名、話者名、言語ID、書き起こしテキストを含む特定の形式で用意する必要があります。

今回はかきの「ずんだもん」のデータを使用します

研究者向け マルチモーダルデータベース ログインページ

赤丸のフォルダとファイルが必要です。
それ以外は自動で作成されます。

file

file

学習の前処理

学習を始める前に、いくつかの前処理を行います。これには、音声ファイルの正規化や無音区間の削除などが含まれます。以下のコードは、前処理を設定する例です。


# 上でつけたフォルダの名前`Data/{model_name}/`
model_name = "zundamon"

# JP-Extra (日本語特化版)を使うかどうか。日本語の能力が向上する代わりに英語と中国語は使えなくなります。
#use_jp_extra = True
use_jp_extra = False

# 学習のバッチサイズ。VRAMのはみ出具合に応じて調整してください。
batch_size = 4

# 学習のエポック数(データセットを合計何周するか)。
# 100ぐらいで十分かもしれませんが、もっと多くやると質が上がるのかもしれません。
epochs = 100

# 保存頻度。何ステップごとにモデルを保存するか。分からなければデフォルトのままで。
save_every_steps = 1000

# 音声ファイルの音量を正規化するかどうか
normalize = True

# 音声ファイルの開始・終了にある無音区間を削除するかどうか
trim = True

# 読みのエラーが出た場合にどうするか。
# "raise"ならテキスト前処理が終わったら中断、"skip"なら読めない行は学習に使わない、"use"なら無理やり使う
yomi_error = "skip"

from webui_train import preprocess_all

preprocess_all(
    model_name=model_name,
    batch_size=batch_size,
    epochs=epochs,
    save_every_steps=save_every_steps,
    num_processes=2,
    normalize=normalize,
    trim=trim,
    freeze_EN_bert=False,
    freeze_JP_bert=False,
    freeze_ZH_bert=False,
    freeze_style=False,
    freeze_decoder=False, # ここをTrueにするともしかしたら違う結果になるかもしれません。
    use_jp_extra=use_jp_extra,
    val_per_lang=0,
    log_interval=200,
    yomi_error=yomi_error
)

これらの変数は、学習プロセスの様々な側面を制御します。例えば、model_nameは学習するモデルの名前、batch_sizeは一度に処理するデータの数、epochsは全データが学習に何回使用されるかを指定します。

学習の開始

前処理が完了したら、学習を開始します。以下のコマンドは、学習プロセスを開始するためのものです。

!python train_ms.py --config {config_path} --model {dataset_path} --assets_root {assets_root}

config_pathdataset_pathassets_rootは、それぞれ設定ファイルのパス、データセットのパス、学習結果を保存するディレクトリのパスを指します。

学習結果の確認

学習が完了したら、生成された音声を聴いてみましょう。これには、学習結果をローカルのStyle-Bert-VITS2のmodel_assetsフォルダにダウンロードし、適切なツールで音声を生成します。

このプロセスを通じて、AIがどのように特定の声を模倣する学習を行うか、基本的な理解を深めることができます。また、Google Colabの使い方や、AIプロジェクトの基本的な流れにも慣れることができるでしょう。

GoogleColabなら「!python app.py --share --dir {assets_root}」これでアプリが起動します。

file

GoogleColabのノート

データセットを配置したら、実行ボタンを押すだけで学習できます。

Google Colaboratory

参考サイト

Google Colab で Style-Bert-VITS2 を試す|npaka
「Google Colab」で「Style-Bert-VITS2」を試したのでまとめました。 1. Style-Bert-VITS2 「Style-Bert-VITS2」は、入力されたテキストの内容をもとに感情豊かな音声を生成する「Bert-VITS2v2.1」を元に、感情や発話スタイルを強弱込みで自由に制御でき...

コメント

タイトルとURLをコピーしました