DiffSingerモデル制作wiki

ローカルでの学習

最終更新:

roku10shi

- view
メンバー限定 登録/ログイン

ローカルでの学習について

お手元のPCでDiffSingerモデルを作成することを
ローカル学習と言います。

GoogleColabとの違いメリット・デメリット
メリットはGoogleColabの学習リソースの利用制限がないこと、最新機能に早くさわれることが挙げられます。
デメリットは学習構築が必要であること高価なGPU(グラフィックボード)が必要であることが挙げられます。

必要なPCスペック最低限の目安

  • Intel Core iシリーズ第六世代以降
または
  • AMD Ryzenシリーズ
  • NVIDIA RTX3000番代のGPU
  • 空き容量が100GB以上あるストレージ

必要なツール

以下のリンクからそれぞれダウンロードしてください。
上から順にインストールしてください。

DiffTrainerのインストール手順(v0.2.0~v0.3.x時点)

  • conda_installer.bat
初回起動の際は必ずこのバッチから実行してください。
miniconda(Python環境の一種)環境をセットアップします。
次回以降の起動の際はrun_gui.batを実行してください。

ツールが起動したらまずツールの更新を実行してください。
zipファイルに含まれていない更新を反映することができます。


DiffTrainerの学習手順

データ準備

wavとlabファイルをもとに学習データを作成する。
ピッチモデルを作成する場合は、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利用する言語の音素のみ設定する。

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フォルダに追加する。


前処理とトレーニング

  • 設定を選択
yamlファイルを選択
  • チェックポイントフォルダーを選択
チェックポイントと2値化したデータの保存先を選択
  • データの前処理
学習データを2値化データにする。
  • トレーニング
学習を開始する

シンガーのエクスポート(基本)

(書きかけのページ)
ウィキ募集バナー