近年、AI技術の進化は目覚ましく、その一環として音声合成技術も大きく前進しています。特に、話者の声質や話し方を模倣する技術は、エンターテイメントから教育まで幅広い分野での応用が期待されています。この記事では、Style-Bert-VITS2を用いて、特定のキャラクター、ずんだもんの声を学習させるプロセスをご紹介します。この技術により、キャラクターがリアルタイムでユーザーと対話できるようになるかもしれません。
こちらの記事もおすすめ
デモ動画
環境構築
まずは、プロジェクトを始めるための環境を構築する必要があります。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、書き起こしテキストを含む特定の形式で用意する必要があります。
今回はかきの「ずんだもん」のデータを使用します
赤丸のフォルダとファイルが必要です。
それ以外は自動で作成されます。
学習の前処理
学習を始める前に、いくつかの前処理を行います。これには、音声ファイルの正規化や無音区間の削除などが含まれます。以下のコードは、前処理を設定する例です。
# 上でつけたフォルダの名前`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_path
、dataset_path
、assets_root
は、それぞれ設定ファイルのパス、データセットのパス、学習結果を保存するディレクトリのパスを指します。
学習結果の確認
学習が完了したら、生成された音声を聴いてみましょう。これには、学習結果をローカルのStyle-Bert-VITS2のmodel_assets
フォルダにダウンロードし、適切なツールで音声を生成します。
このプロセスを通じて、AIがどのように特定の声を模倣する学習を行うか、基本的な理解を深めることができます。また、Google Colabの使い方や、AIプロジェクトの基本的な流れにも慣れることができるでしょう。
GoogleColabなら「!python app.py --share --dir {assets_root}」これでアプリが起動します。
GoogleColabのノート
データセットを配置したら、実行ボタンを押すだけで学習できます。
コメント