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.

  • Cluster Analysis–Part 3

    This week we evaluate the 43 metric candidates with a diagnostic program using a combination of statistics. After considering evidence from correlation runs, we combined that evidence with the musical meaning and implementation of each metric. The statistical tools we use are Pearson’s correlation and Spearman’s correlation, which correlated each metric with each other metric.…

    Continue reading

  • Cluster Analysis–Part 2

    Before using cluster analysis to see whether musical styles emerge naturally from the Skiptune database, we first needed to answer a more basic question: What characteristics of a tune should the computer measure? 34 Metrics Early on in the Skiptune project, as we were entering tunes, we found ourselves wondering if certain patterns we were…

    Continue reading

  • Cluster Analysis–Part 1

    This week we talk about how to apply cluster analysis to the Skiptune database. Skiptune is unusually well suited to clustering because we have both the symbolic melodies and extensive metadata. We distinguish clustering the tunes themselves from clustering composers, genres, historical periods, or musical fragments. The most interesting analysis, given what we’ve already built, would be…

    Continue reading

  • Cluster Analysis

    Cluster analysis is a family of statistical and computational methods for answering a deceptively simple question: Given a collection of things described by several characteristics, can we discover natural groups among them without deciding beforehand what those groups are? In other words, cluster analysis starts without known labels. You can understand why cluster analysis is…

    Continue reading