ローカルでの学習について
お手元のPCでDiffSingerモデルを作成することを
ローカル学習と言います。
ローカル学習と言います。
GoogleColabとの違いメリット・デメリット
メリットはGoogleColabの学習リソースの利用制限がないこと、最新機能に早くさわれることが挙げられます。
デメリットは学習構築が必要であること高価なGPU(グラフィックボード)が必要であることが挙げられます。
メリットはGoogleColabの学習リソースの利用制限がないこと、最新機能に早くさわれることが挙げられます。
デメリットは学習構築が必要であること高価なGPU(グラフィックボード)が必要であることが挙げられます。
必要なPCスペック最低限の目安
- Intel Core iシリーズ第六世代以降
または
- AMD Ryzenシリーズ
- NVIDIA RTX3000番代のGPU
- 空き容量が100GB以上あるストレージ
必要なツール
以下のリンクからそれぞれダウンロードしてください。
上から順にインストールしてください。
上から順にインストールしてください。
- VisualStudio2022 以降(C++によるデスクトップ開発を選択)
- CUDA Toolkit v11.7以降 (v12.xは非推奨)
- DiffTrainer(マルチ辞書対応のベータ版は<>CodeからzipなどでPCダウンロード)
DiffTrainerのインストール手順(v0.2.0~v0.3.x時点)
- conda_installer.bat
初回起動の際は必ずこのバッチから実行してください。
miniconda(Python環境の一種)環境をセットアップします。
次回以降の起動の際はrun_gui.batを実行してください。
miniconda(Python環境の一種)環境をセットアップします。
次回以降の起動の際はrun_gui.batを実行してください。
ツールが起動したらまずツールの更新を実行してください。
zipファイルに含まれていない更新を反映することができます。
zipファイルに含まれていない更新を反映することができます。
DiffTrainerの学習手順
データ準備
wavとlabファイルをもとに学習データを作成する。
ピッチモデルを作成する場合は、MIDI推定をOFF以外を選択(精度:SOME>Default method)
設定値によって無音が続く、学習に利用できないデータが作成される場合あります。
ピッチモデルを作成する場合は、MIDI推定をOFF以外を選択(精度:SOME>Default method)
設定値によって無音が続く、学習に利用できないデータが作成される場合あります。
設定
- Type
Acousticを選択
- フォーマットされたデータフォルダを選択
学習データのあるフォルダを選択
- チェックポイントの保存先フォルダを選択
チェックポイントの保存先を選択(/diffsinger/checkpointsのサブフォルダーであること)
- Enable VR preprocessing
ノイズ除去の前処理
- 最大バッチサイズ
GPUメモリサイズによる、Acousticの場合(8~9)Varianceの場合(30~32)
ベータ版の設定
多言語対応しないのであれば特にいじらない
- Other language
学習データの話者ごとの言語コードを設定
- Edit language settings
langloader.yamlを書き換えて利用するphonemes.txt(音素リスト)を設定する。
merged.yaml利用する言語の音素のみ設定する。
merged.yaml利用する言語の音素のみ設定する。
en+jaの構成の場合
- langloader.yaml
>dictionaries: > en: dictionaries/en-phonemes.txt > ja: dictionaries/ja-phonemes.txt >extra_phonemes: [] >merge_list: DiffSinger/dictionaries/merged.yaml > >#all formatting is entirely subject to change
- merged.yaml
>merged_phoneme_groups: > - [en/b, ja/b] > - [en/ch, ja/ch] > - [en/d, ja/d] > - [en/g, ja/g] > - [en/k, ja/k] > - [en/m, ja/m] > - [en/n, ja/n] > - [en/p, ja/p] > - [en/s, ja/s] > - [en/sh, ja/sh] > - [en/t, ja/t] > - [en/w, ja/w] > - [en/y, ja/y] > - [en/z, ja/z]
xx-phonemes.txt、dictionary-xx.txtはどうやって準備するのか
データ準備にてcustom_dict.txtが作成されるので、追加したいデータセットごとに実行して言語ごとに用意する。
dictionariesフォルダとDiffSinger/dictionariesフォルダに追加する。
データ準備にてcustom_dict.txtが作成されるので、追加したいデータセットごとに実行して言語ごとに用意する。
dictionariesフォルダとDiffSinger/dictionariesフォルダに追加する。
前処理とトレーニング
- 設定を選択
yamlファイルを選択
- チェックポイントフォルダーを選択
チェックポイントと2値化したデータの保存先を選択
- データの前処理
学習データを2値化データにする。
- トレーニング
学習を開始する
シンガーのエクスポート(基本)
(書きかけのページ)