Open 15805383399 opened 3 years ago
Added in 28afd97. The implementation of the REMI representation is different from what described in the paper though.
For chord events in REMI, there is a way to recognize chords from midi, offered in compound-word-transformer They uses their open source library chorder to recognize chord events, and also offers an example of processing the dataset they used in their experiment. But their is also one problem for their code. It could only recognize 60 kinds of chords, which is not enough, especially for classical music. And in my own experiment, I found that the chord event can really help the model to understand chord, and to generate music with more precise chords. But limit the number of chords used in generation under 60(in fact, only a part of them).I think adding recognizable chord types may help.
Recently, I found two new representations for symbolic music generation. But using their open source code is not as easy as using muspy. I hope that these two representations could be added to muspy's built-in representations.
REMI
https://ailabs.tw/human-interaction/pop-music-transformer/
The MIDI-like representation is actually the event-based representation in muspy
And of course, the REMI representation got beter performance in their paper
Compound Words
https://ailabs.tw/human-interaction/compound-word-transformer-generate-pop-piano-music-of-full-song-length/
The Compound Words representation further improves the REMI representation.
The most import point I think is that, Compound Words representation makes the sequence much shorter.
And this makes it posible for attention window to cover the whole sequence.
![image](https://user-images.githubusercontent.com/76238405/127149060-6932d611-5a6e-473f-939d-db43edf958c0.png)