制御伝達拡散
1.0.0
ISMIR 2024 で承認された、Nils Demerlé、Philippe Esling、Guillaume Doras、David Genova による潜在拡散を使用したオーディオ コントロールとスタイル転送の組み合わせの公式リポジトリ (論文リンク)。
モデルのトレーニングには、データセットの処理、オートエンコーダーのトレーニング、拡散モデルのトレーニングの 3 つのステップが必要です。
python dataset/split_to_lmdb.py --input_path /path/to/audio_dataset --output_path /path/to/audio_dataset/out_lmdb
または、midi 処理で slakh を使用するには (ここから Slakh2100 をダウンロードした後):
python dataset/split_to_lmdb_midi.py --input_path /path/to/slakh --output_path /path/to/slakh/out_lmdb_midi --slakh True
python train_autoencoder.py --name my_autoencoder --db_path /path/to/lmdb --gpu #
オートエンコーダーがトレーニングされたら、torchscript .pt ファイルにエクスポートする必要があります。
python export_autoencoder.py --name my_autoencoder --step # #
このフェーズ全体をスキップして、encode メソッドと decode メソッドを備えた nn.module にラップされた Encodec などの事前トレーニング済みオートエンコーダーを使用することもできます。
モデルのトレーニングは gin config ファイルで構成されます。オーディオ間モデルをトレーニングするには:
python train_diffusion.py --db_path /data/nils/datasets/slakh/lmdb_midi/ --config midi --dataset_type midi --gpu #
MIDI からオーディオへのモデルをトレーニングするには:
python train_diffusion.py --db_path /path/to/lmdb --config main --dataset_type waveform --gpu #
未定