The goal of the work is exploring & finding smart encoding of music notes, that captures meaningful harmonic relationships in music. The assumption that music is similar to language in the sense that there are also certain grammatical rules, of course with some flexibility in relation to normal language.
Thus, related notes & chords will be close to each other in sense of cosine similarity.
During the project, we learned tools for storing and representing music files, such as MIDI and others, through which we extracted the database for the project. We have examined different methods of information processing, based on different characteristics of music sections, such as Word2Vec algorithm.
During the information processing, we have examined the effect of the different characteristics such as the duration of the notes, their repetition, and their pitch on the accuracy of our model and its ability to capture harmonious connections and relationships on the one hand. And on the other hand, create a scalable model that requires as small computational power as possible.
In order to check the model we have created a nave music generator, which will play follower notes that the model has provided and thus we can identify whether the model is able to properly identify and capture the musical relationships properly. In addition, we made sure that the model maintains the same distances between the same words with different octaves. In addition, we made sure that the model maintains the same distances between the same words with different octaves.