Beethoven is gone, but his music remains. Had he been given another opportunity, who knows what he would write? Presumably any new compositions would feature at least some of the elements present in his previous music. The Little Ludwig operates on this assumption. The Little Ludwig is an evolutionary learning machine for musical composition. Written in Common Lisp, it is Earl Bellinger's final project in CSC 466: Artificial Intelligence and Heuristic Programming, a course in the SUNY Oswego Artificial Intelligence concentration for a B.S. in Computer Science. The source code has been released for free under the GNU General Public License version 3.

The following ten tasks were satisfied in order to complete this project:



Model notes

Model melodies

Melody analysis

Import melody into JFugue for listening

Model a population

Devise fitness metric

Create copy/crossover routines

Implement the genetic algorithm

Test on multiple inputs

Refine fitness metric

Several musical outputs from the Little Ludwig exist. The following four have been hosted on YouTube. You may view them below, or visit The Little Ludwig's YouTube channel (and subscribe while you're at it!). The first two are inspired by Bach's Crab canon, the third by Chopin's Prelude in E minor, and the fourth by Scott Joplin's rag "The Entertainer." After being transformed into MIDI by the JFugue music programming library, they were processed by a digital music workstation program and put on YouTube with a video creating application.













Many large output files have been created by the Little Ludwig. The following are three examples of such files, listed by the inspiration piece fed to the Little Ludwig for generating each particular demo. Open them at your own risk, for they are all approximately fifty megabytes in size!



