This blog documents the process of teaching an AI system to generate melodies from the Skiptune database. Expect experiments, mistakes, and occasional surprises, and at the end expect melodies that sound as if a human wrote them.
Problem to Be Solved The Skiptune database is a database of 83,000 melodies from around the world and across several centuries. These melodies are encoded in a special way (a pitch difference followed by a duration ratio), and we want to explore whether an AI model can learn melodic structure from this representation. The…
Last week we stopped because we realized we needed more analysis done on more search lengths to provide a bit more certainty to our tentative conclusions. Our initial set of runs happened to settle on an inflection at our last search length of 20 tuples. This week we run the search algorithm with 22-, 24-,…
This week we continue our examination of why some tunes have search patterns that contain terms for which no other tune contains the same set of terms in any order, and why other tunes have search terms found in thousands of other tunes. We’ll expand upon our 10-term tuples to see how using other search…
Last week we used a 10-tuple length search term to try to figure out why some of those search terms have tuples that appear in thousands of tunes, and why some have few or even none. We came up with plausible reasons: Some search terms contain rare tuples that immediately reduce the number of possible…
This week we lay out our plan for figuring out the search paradox, which is that tunes have a widely variety of overlap with their two-note patterns (tuples), from zero to thousands, sometimes contrary to how common the notes look to the eye. We have to control for genre. The ratio of common to rare…