Working on my thesis about 92% of the time (other 8% is watching this video – https://www.youtube.com/watch?v=xQ0ELHNDrjk) lead me to think about how can I incorporate ML in my thesis project, or what could be added with ML to the experience.
Quick – My thesis statement is that music-tech instruments are perfect tools for early-age kids to get familiar with learning music. So, I’m creating such instruments, using Arduino interface and obviously a lot of software design behind the scenes.
I am currently working on a Loop-machine combined with a synthesizer and I feel that a neat scenario for the model could be that according to FFT and frequency analysis, the instrument will “guess” a style (genre) and add subtle features to the sounds/tempo/rhythmic expressions/envelopes. This is also a nice way to teach the user-kid a bit about music genres.
Example – 120 BPM, low-frequency at the end of each measure (bass), long sustaining pads – It must be House Music, let’s boost the bass and add more high notes…
In the matter of if this is a classification or regression problem – I think it’s both. I do teach the model to label the loops according to genres, but at the same time I’m also expecting a proactive action.
The data should be categorized by a few features, as mentioned above (FFT, common frequencies, etc). It should be designed properly by choosing a significant amount of tracks and songs that vary in their “how-easy-it-is-to-understand-which-genre-is-this” and obviously manually training it at first, by making lists of “easy” tracks for each genres. In the matter of the following action of the model/program, I think that it is possible to use “reinforcement learning” by simply start with random “additions” to the loop – and re-examining if it got closer to the predicted genre, or farther.
As it seems – the first training stages of this hypothetical model are fairly supervised and require a lot of “help” from the supervisor.
What I’m imagining is a button as a part of the instrument’s interface that “gives” permission to the model to add its own interpretation of the produced music. I think this could add a level of learning a bit about music-theory or even history, by understanding why did the program came up with these decisions and interpretations.