You might be up-to-date with the latest, most performant state-of-the-art architectures, sometimes you will be limited by a poor understanding of the data you are dealing with.
As far as music theory is concerned, we have an unbalanced skillset among our team: some of us are proficient pianists, other have never played an instrumented and some used to play when they were younger, but not anymore. I am part of the last group. I used to play the guitar when I was 14–15-year old but never past the point of leasure. More importantly, I have had a limited exposure to the fundamentals concept of music theory.
As surprising as it might be (read not surprising at all), understanding those fundamental concepts is crucial when your goal is to teach an algorithm how to generate music. Having a solid understanding of musical concepts such as notes, scales, chords, melodies and how they relate to each other is a necessary yet insufficient condition if you want to train a model how to create complex and meaningful musical compositions.
It turns out that it isn’t as difficult as I thought.
Youtube is an amazing source of content (isn’t it?) filled with comprehensive yet straight to the point tutorials. As a matter of fact, Andrew Huang’s “Learn music theory in half an hour” video helped me put together the few pieces I remembered from my glorious years as a wannabe guitarist. Besides, Raphael, one of the two music experts of our team put together a wonderful guide that served as a refresher on music theory as well as an introduction on Music21, a toolkit for computer-aided musicology.
The next few days will be spent experimenting with this toolkit, before moving to more serious challenges.