aik2mlj / polyffusion

Polyffusion: A Diffusion Model for Polyphonic Score Generation with Internal and External Controls
https://polyffusion.github.io
MIT License
71 stars 8 forks source link

Added training with custom data support, fixed bugs with ddpm #3

Closed wu-ming233 closed 9 months ago

wu-ming233 commented 10 months ago

This pull request entails:

These changes are mainly just small additions to enhance user experience, and are completely backward-compatible.

wu-ming233 commented 10 months ago

@aik2mlj The new commit implements the changes requested above, as well as two minor things:

  1. When preparing data from MIDI, we would like to discard the non-melody parts, including drum tracks and melody tracks that have instrument program number >= 113. I've added this option in prepare_data.py, and it's enabled by default.
  2. Unconditional vanilla ddpm lacked a way to specify which weights to use under the same checkpoint. I've added that, in a similar fashion as what's done in the other ldm models.

Let me know if anything else needs to be changed!

aik2mlj commented 9 months ago

Looks good to me! Thank you for your efforts. Now it's only the augmentation range [-6, 7) that needs to be fixed.