We could do a order 1 makov chain music generator, based on df music. So you would be able to have a "infinite amount of songs" based on original input.
If I was a better coder and knew music theory I would try to do that.
How order 1 markov chain work in the case someone here doenst know.
imagine a song like this:
But before I post the song, imagine this (1|9 ) the first number means the key of piano and the last one the amount of seconds he will press this key, X|X means the song start here and Y|Y means te song ends here. This is a simplified thing, just for the sake of explanation.
Now imagine the song
X|X 1|1 1|1 2|3 1|2 1|1 2|3 Y|Y.
First we select a random thing (including X|X and Y|Y), 1|1 are more present and so will have a higher change of being selected than other stuff.
Got one thing at random and got 1|1
Since I didnt got X|X, I roll the notes that will be before 1|1 (until I generate X|X) this is based on how original song works, so the choices to randomly pick from are X|X, 1|1, 1|2.
I Rolled at random and got X|X
the song right now is X|X 1|1
Now I go back to first generated thing and generate the stuff after it until I generate Y|Y
This is based on what can be after 1|1 on original song, I rollled 2|3.
The song is now X|X 1|1 2|3
Then I roll again based on what can be after 2|3 and got Y|Y
This means we ended the song and the result is this song: X|X 1|1 2|3 Y|Y
Of course this is a simplification. While doing that with df song, same notes with different lenghts would count as different notes (as in the example), notes played at different same time would also count as a different note....