Teaching AI to Write Melodies

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.

  • The Search Engine Paradox

    Our workflow includes a step to make sure the tune we’re entering into the database is not already there.  For that we devised a search engine that, as a by-product, tells us how many tunes already in the database have all the search terms in them.  In doing so over the years, we noticed something…

    Continue reading

  • Choice of AI Model

    There are many models to choose from when training a musical corpus.  We’ll run through the main candidates briefly and explain why we settled on the transformer model with attention when we turn to AI training in the future.   Artificial Intelligence Models AI models were designed for various purposes, such as pictures, words, and classifying…

    Continue reading

  • Pitch Differentials & Their Analytics

    Having dealt with both the distribution of durations, duration ratios, and rests in the Skiptune database, the last item is the pitch differential:  The difference between any note’s pitch and its neighbor on either side.  Let’s start with the basic counts: 4,446,196 note-to-note transitions 92.7 percent of all transitions are between notes 7.3 percent involve…

    Continue reading

  • Rests–Part III (Final)

    Now that we have a basic understanding about entropy in music, we finish off the pre-training discussion of rests by focusing on how they affect duration ratios in the database.  It turns out that rests inform us about the rhythmic structure of the tunes in the corpus.   Let’s look at the concentration of ratios in…

    Continue reading