السيطرة على انتشار النقل
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-to-audio :
python train_diffusion.py --db_path /path/to/lmdb --config main --dataset_type waveform --gpu #
سيتم تحديده لاحقًا