Contrapuntal Composer

At one point when I was both a Music major at Cleveland Institute of Music and a Computer Science major at Case Western Reserve University, I had two term projects due at the same time. For Music Theory I had to write a fugue. For Introduction to Prolog Programming I had to write some system that explored the possibilities of logic and artificial intelligence within the Prolog environment. I wish I could say that it was genius of me to decide that my Prolog Programming term project could perhaps write my Music Theory term project. Really it was just laziness. In any case, here is my term project for the Prolog Programming course, Contrapuntal Composer.

Fugue from J.S. Bach's "The Art of Fugue" A considerably better composition than anything written by Contrapuntal Composer
Fugue from J.S. Bach’s “The Art of Fugue:” A considerably better composition than anything written by Contrapuntal Composer
Fugue from J.S. Bach's "The Art of Fugue" A considerably better composition than anything written by Contrapuntal Composer
Fugue from J.S. Bach’s “The Art of Fugue:” A considerably better composition than anything written by Contrapuntal Composer

Contrapuntal Composer writes music for three simultaneous voices. Depending on initial parameters, it can write a fugue, a rondo, or any other contrapuntal form. As input, Contrapuntal Composer accepts a key, the number of measures the composition should be, the sections, their lengths, names, rhythmic complexities, a list of harmonies, and a list of keys. It outputs a list of notes for each voice. Contrapuntal Composer obeys the rules of good voice leading within each voice and between the voices.

I suppose there might have been ethical questions if Contrapuntal Composer did indeed write my fugue for Music Theory. As it turned out, I didn’t quite finish Contrapuntal Composer in time, so I ended up writing a nasty fugue, nothing like anything Bach would have written even at his darkest, saddest moment.

Contrapuntal Composer’s compositions are hardly better, actually probably worse. And as the heuristics are weak, it takes Contrapuntal Composer days to write just a few measures. But what’s time to a computer?

Similar Posts

  • SoundScratch

    SoundScratch is a set of extensions I wrote to manipulate audio in a children’s programming language called Scratch. The environment emphasizes the expressive capabilities of sound through the act of creation and design.

  • Avian Migration

    In 2018 I collaborated with Artist Lisa Rundstrom and artist/engineer Tom McGuire to create the public art sculpture, Avian Migration at Wichita’s new Advanced Learning Library. Avian Migration consists of more than 1,300 LEDs controlled by 8 motion-activated sensors spread throughout the library. I was primarily responsible for the development and implementation of the software…

  • Be The Shortstop!

    Be The Shortstop! is a permanent public indoor installation at The Baseball Museum in Riverfront Stadium, Wichita KS. Players hit a large button on a kiosk to start the game. After a few seconds the game starts as they race to hit the correct button on a large wall. A crowd cheers on speakers as…

  • LegalLanguage

    I wrote LegalLanguage, a scripting language for lawyers at Legal Services Corporation in West Virginia. The staff used LegalLanguage to write simple scripts that could then ask clients questions, give guidance, and print out the appropriate forms. This freed up resources to focus on the large number of cases involving domestic violence.