控制轉移擴散
1.0.0
Nils Demerlé、Philippe Esling、Guillaume Doras 和 David Genova 的使用潛在擴散組合音訊控制和風格轉移的官方儲存庫已在 ISMIR 2024 上接受(論文連結)。
訓練模型需要三個步驟:處理資料集,訓練自動編碼器,然後訓練擴散模型。
python dataset/split_to_lmdb.py --input_path /path/to/audio_dataset --output_path /path/to/audio_dataset/out_lmdb
或使用 slakh 進行 midi 處理(在此下載 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 # #
可以跳過整個階段並使用預先訓練的自動編碼器,例如 Encodec,包裝在帶有編碼和解碼方法的 nn.module 中。
模型訓練使用 gin 設定檔進行設定。將音訊訓練為音訊模型:
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 #
待定