Offizielles Repository für „Combining audio control and style transfer using latent diffusion“ von Nils Demerlé, Philippe Esling, Guillaume Doras und David Genova, angenommen auf der ISMIR 2024 (Link zum Papier).
Das Training des Modells erfordert drei Schritte: Verarbeiten des Datensatzes, Training eines Autoencoders und dann Training des Diffusionsmodells.
python dataset/split_to_lmdb.py --input_path /path/to/audio_dataset --output_path /path/to/audio_dataset/out_lmdb
Oder um Slakh mit Midi-Verarbeitung zu verwenden (nachdem Sie Slakh2100 hier heruntergeladen haben):
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 #
Sobald der Autoencoder trainiert ist, muss er in eine Torchscript-PT-Datei exportiert werden:
python export_autoencoder.py --name my_autoencoder --step # #
Es ist möglich, diese ganze Phase zu überspringen und einen vorab trainierten Autoencoder wie Encodec zu verwenden, der in ein nn.module mit Kodierungs- und Dekodierungsmethoden eingebettet ist.
Das Modelltraining wird mit Gin-Konfigurationsdateien konfiguriert. So trainieren Sie das Audio-zu-Audio-Modell:
python train_diffusion.py --db_path /data/nils/datasets/slakh/lmdb_midi/ --config midi --dataset_type midi --gpu #
So trainieren Sie das Midi-zu-Audio-Modell:
python train_diffusion.py --db_path /path/to/lmdb --config main --dataset_type waveform --gpu #
TBA