Music 220C-Automated Generation of Counterpoint using Genetic Algorithms


My project is tackling an age old problem in algorithmic composition: counterpoint generation. I am taking a different approach from ofther methods that have been implemented(Schottstaedt 1989, Aguilera et al. 2007) in that I am not taking in information from the user. Other methods have used databases to help generate probability trees, or taken in Cantus Firmi in order to build around them (just to name a couple).

Music generation with genetic algorithms is not an incredibly new endeavor, and others have implemented fugue melody generation using genetic algorithms (Acevedo 2004, Milkie E. and Chestnut J. 2001). Keep in mind they had not implemented full fugue generation, but simple subject, answer, and countersubject generation. The goal with this project then would be to create full-fledged pieces of counterpoint "from scratch" as Acevedo, Milkie, and Chestnut have called it.

Here are some milestones I hope to reach:

  • Cantus Firmus Generation (done)
  • 4-part 1st species generation
  • 2nd species
  • 3rd species
  • 4th species
  • 5th species
  • Improve the style of 5th species generation
  • Here are links to my notes (pun intended):

    Fux Gradus ad Parnassum

    General Genetic Algorithm notes

    Because I enjoy working in Evernote, I'll most likely be updating my website with links to Evernote pages.

    Feel free to ask my about any of my sources, and I'd be happy to loan books out, send links to articles, or even email PDF's.