48
stars
14
commits
10
linked in READMEs
Aug 30, 2025
updated
超低遅延・低負荷・低容量を特徴とする完全無料の声質変換 VST 「Beatrice 2」のモデル学習用ツールキットです。
Beatrice 2 は、以下を目標に開発されています。
torch.backends.cudnn.benchmark の部分的な無効化などにより、学習速度が向上しました。Beatrice は、既存の学習済みモデルを用いて声質の変換を行うだけであれば GPU を必要としません。 しかし、新たなモデルの作成を効率良く行うためには GPU が必要です。
学習スクリプトを実行すると、デフォルト設定では 9GB 程度の VRAM を消費します。 GeForce RTX 4090 を使用した場合、 40 分程度で学習が完了します。
GPU を手元に用意できない場合でも、以下のリポジトリを使用して Google Colab 上で学習を行うことができます。
Git などを使用して、このリポジトリをダウンロードしてください。
git lfs install
git clone https://huggingface.co/fierce-cats/beatrice-trainer
cd beatrice-trainer
uv などを使用して、依存ライブラリをインストールしてください。
uv sync --extra cu128
. .venv/bin/activate
# Alternatively, you can use pip to install dependencies directly:
# pip3 install -e .[cu128]
Windows 環境では、 . .venv/bin/activate の代わりに .venv\Scripts\activate を実行してください。
正しくインストールできていれば、 python3 beatrice_trainer -h で以下のようなヘルプが表示されます。
usage: beatrice_trainer [-h] [-d DATA_DIR] [-o OUT_DIR] [-r] [-c CONFIG]
options:
-h, --help show this help message and exit
-d DATA_DIR, --data_dir DATA_DIR
directory containing the training data
-o OUT_DIR, --out_dir OUT_DIR
output directory
-r, --resume resume training
-c CONFIG, --config CONFIG
path to the config file
下図のように学習データを配置してください。
your_training_data_dir
+---alice
| +---alices_wonderful_speech.wav
| +---alices_excellent_speech.flac // FLAC, MP3, and some other formats are also okay.
| `---...
+---bob
| +---bobs_fantastic_speech.wav
| +---bobs_speeches
| | `---bobs_awesome_speech.wav // Audio files in nested directory will also be used.
| `---...
`---...
学習データ用ディレクトリの直下に各話者のディレクトリを作る必要があります。 各話者のディレクトリの中の構造や音声ファイルの名前は自由です。
学習を行うデータが 1 話者のみの場合も、話者のディレクトリを作る必要があることに注意してください。
your_training_data_dir_with_only_one_speaker
+---charlies_brilliant_speech.wav // Wrong.
`---...
your_training_data_dir_with_only_one_speaker
`---charlie
+---charlies_brilliant_speech.wav // Correct!
`---...
学習データを配置したディレクトリと出力ディレクトリを指定して学習を開始します。
python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir>
(Windowns の場合、 beatrice_trainer の代わりに .\beatrice_trainer\__main__.py を指定しないと正しく動作しないという報告があります。)
学習の状況は、 TensorBoard で確認できます。
tensorboard --logdir <output_dir>
学習が正常に完了すると、出力ディレクトリ内に paraphernalia_(data_dir_name)_(step) という名前のディレクトリが生成されています。
このディレクトリを公式 VST、 VCClient または beatrice-client で読み込むことで、ストリーム (リアルタイム) 変換を行うことができます。
読み込めない場合は公式 VST、 VCClient、 beatrice-client のバージョンが古い可能性がありますので、最新のバージョンにアップデートしてください。
使用するハイパーパラメータや事前学習済みモデルをデフォルトと異なるものにする場合は、デフォルト値の書かれたコンフィグファイルである assets/default_config.json を別の場所にコピーして値を編集し、 -c でファイルを指定します。
assets/default_config.json を直接編集すると壊れるので注意してください。
また、コンフィグファイルに data_dir キーと out_dir キーを追加し、学習データを配置したディレクトリと出力ディレクトリを絶対パスまたはリポジトリルートからの相対パスで記載することで、コマンドライン引数での指定を省略できます。
python3 beatrice_trainer -c <your_config.json>
何らかの理由で学習が中断された場合、出力ディレクトリに checkpoint_latest.pt が生成されていれば、その学習を行っていたコマンドに -r オプションを追加して実行することで、最後に保存されたチェックポイントから学習を再開できます。
python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir> -r
学習スクリプトを実行すると、出力ディレクトリ内に以下のファイル・ディレクトリが生成されます。
paraphernalia_(data_dir_name)_(step)
checkpoint_(data_dir_name)_(step).pt.gz
-r オプションを付けて学習スクリプトを実行すると、そのステップ数から学習を再開できます。checkpoint_latest.pt.gz
config.json
events.out.tfevents.*
学習スクリプトによって生成された paraphernalia ディレクトリ内にある beatrice_paraphernalia_*.toml ファイルを編集することで、 VST、 VCClient、 beatrice-client 上での表示を変更できます。
model.version は、生成されたモデルのフォーマットバージョンを表すため、変更しないでください。
各 description は、長すぎると全文が表示されない場合があります。
現在表示できていても、将来的な VST、 VCClient または beatrice-client の仕様変更により表示できなくなる可能性があるため、余裕を持った文字数・行数に収めてください。
portrait に設定する画像は、 PNG 形式かつ正方形としてください。
このリポジトリを用いて生成したモデルの配布を歓迎します。
配布されたモデルは、 Project Beatrice およびその関係者の管理する SNS アカウントやウェブサイト上でご紹介させていただく場合があります。
その際、 portrait に設定された画像を掲載することがありますので、予めご承知おきください。
このリポジトリには、学習などに使用する各種データが含まれています。 詳しくは assets/README.md をご覧ください。
このリポジトリ内のソースコードおよび学習済みモデルは MIT License のもとで公開されています。 詳しくは LICENSE をご覧ください。
14 commits
48
stars
14
commits
10
linked in READMEs
Aug 30, 2025
updated
超低遅延・低負荷・低容量を特徴とする完全無料の声質変換 VST 「Beatrice 2」のモデル学習用ツールキットです。
Beatrice 2 は、以下を目標に開発されています。
torch.backends.cudnn.benchmark の部分的な無効化などにより、学習速度が向上しました。Beatrice は、既存の学習済みモデルを用いて声質の変換を行うだけであれば GPU を必要としません。 しかし、新たなモデルの作成を効率良く行うためには GPU が必要です。
学習スクリプトを実行すると、デフォルト設定では 9GB 程度の VRAM を消費します。 GeForce RTX 4090 を使用した場合、 40 分程度で学習が完了します。
GPU を手元に用意できない場合でも、以下のリポジトリを使用して Google Colab 上で学習を行うことができます。
Git などを使用して、このリポジトリをダウンロードしてください。
git lfs install
git clone https://huggingface.co/fierce-cats/beatrice-trainer
cd beatrice-trainer
uv などを使用して、依存ライブラリをインストールしてください。
uv sync --extra cu128
. .venv/bin/activate
# Alternatively, you can use pip to install dependencies directly:
# pip3 install -e .[cu128]
Windows 環境では、 . .venv/bin/activate の代わりに .venv\Scripts\activate を実行してください。
正しくインストールできていれば、 python3 beatrice_trainer -h で以下のようなヘルプが表示されます。
usage: beatrice_trainer [-h] [-d DATA_DIR] [-o OUT_DIR] [-r] [-c CONFIG]
options:
-h, --help show this help message and exit
-d DATA_DIR, --data_dir DATA_DIR
directory containing the training data
-o OUT_DIR, --out_dir OUT_DIR
output directory
-r, --resume resume training
-c CONFIG, --config CONFIG
path to the config file
下図のように学習データを配置してください。
your_training_data_dir
+---alice
| +---alices_wonderful_speech.wav
| +---alices_excellent_speech.flac // FLAC, MP3, and some other formats are also okay.
| `---...
+---bob
| +---bobs_fantastic_speech.wav
| +---bobs_speeches
| | `---bobs_awesome_speech.wav // Audio files in nested directory will also be used.
| `---...
`---...
学習データ用ディレクトリの直下に各話者のディレクトリを作る必要があります。 各話者のディレクトリの中の構造や音声ファイルの名前は自由です。
学習を行うデータが 1 話者のみの場合も、話者のディレクトリを作る必要があることに注意してください。
your_training_data_dir_with_only_one_speaker
+---charlies_brilliant_speech.wav // Wrong.
`---...
your_training_data_dir_with_only_one_speaker
`---charlie
+---charlies_brilliant_speech.wav // Correct!
`---...
学習データを配置したディレクトリと出力ディレクトリを指定して学習を開始します。
python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir>
(Windowns の場合、 beatrice_trainer の代わりに .\beatrice_trainer\__main__.py を指定しないと正しく動作しないという報告があります。)
学習の状況は、 TensorBoard で確認できます。
tensorboard --logdir <output_dir>
学習が正常に完了すると、出力ディレクトリ内に paraphernalia_(data_dir_name)_(step) という名前のディレクトリが生成されています。
このディレクトリを公式 VST、 VCClient または beatrice-client で読み込むことで、ストリーム (リアルタイム) 変換を行うことができます。
読み込めない場合は公式 VST、 VCClient、 beatrice-client のバージョンが古い可能性がありますので、最新のバージョンにアップデートしてください。
使用するハイパーパラメータや事前学習済みモデルをデフォルトと異なるものにする場合は、デフォルト値の書かれたコンフィグファイルである assets/default_config.json を別の場所にコピーして値を編集し、 -c でファイルを指定します。
assets/default_config.json を直接編集すると壊れるので注意してください。
また、コンフィグファイルに data_dir キーと out_dir キーを追加し、学習データを配置したディレクトリと出力ディレクトリを絶対パスまたはリポジトリルートからの相対パスで記載することで、コマンドライン引数での指定を省略できます。
python3 beatrice_trainer -c <your_config.json>
何らかの理由で学習が中断された場合、出力ディレクトリに checkpoint_latest.pt が生成されていれば、その学習を行っていたコマンドに -r オプションを追加して実行することで、最後に保存されたチェックポイントから学習を再開できます。
python3 beatrice_trainer -d <your_training_data_dir> -o <output_dir> -r
学習スクリプトを実行すると、出力ディレクトリ内に以下のファイル・ディレクトリが生成されます。
paraphernalia_(data_dir_name)_(step)
checkpoint_(data_dir_name)_(step).pt.gz
-r オプションを付けて学習スクリプトを実行すると、そのステップ数から学習を再開できます。checkpoint_latest.pt.gz
config.json
events.out.tfevents.*
学習スクリプトによって生成された paraphernalia ディレクトリ内にある beatrice_paraphernalia_*.toml ファイルを編集することで、 VST、 VCClient、 beatrice-client 上での表示を変更できます。
model.version は、生成されたモデルのフォーマットバージョンを表すため、変更しないでください。
各 description は、長すぎると全文が表示されない場合があります。
現在表示できていても、将来的な VST、 VCClient または beatrice-client の仕様変更により表示できなくなる可能性があるため、余裕を持った文字数・行数に収めてください。
portrait に設定する画像は、 PNG 形式かつ正方形としてください。
このリポジトリを用いて生成したモデルの配布を歓迎します。
配布されたモデルは、 Project Beatrice およびその関係者の管理する SNS アカウントやウェブサイト上でご紹介させていただく場合があります。
その際、 portrait に設定された画像を掲載することがありますので、予めご承知おきください。
このリポジトリには、学習などに使用する各種データが含まれています。 詳しくは assets/README.md をご覧ください。
このリポジトリ内のソースコードおよび学習済みモデルは MIT License のもとで公開されています。 詳しくは LICENSE をご覧ください。
14 commits