控制转移扩散
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 #
待定