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

  • Microphone with proximity detection

    Around 2004 I developed a few protoype microphones enhanced to also offer proximity detection. The microphone could adjust it’s amplitude and bass response based on the proximity of the person using it. This would lessen the variable results users experience when holding a microphone too close or too far. Moreover, with proximity or its derivative mapped to a combination…

  • The Incubator

    The Incubator is an art piece which was initially installed as part of TechArtICT’s Dreamgrass installation at Exploration Place Fall 2022. Within the installation it was the machine where faceless children were created and indoctrinated. A Center TV displayed a teleprompter which offered encouragement for viewers to become participants, reading into a microphone placed at…

  • Digital Puppetry

    I worked with a team of colleagues, community members, and urban youth. Our intention was to help the youth learn in a playful environment, find personal self-expression, and have their voices heard by communities in Boston. To do this, we adapted commercially available technology to provide a unique medium: digital puppetry.

  • Touch #2

    Touch #2 is a playful virtual environment and an interactive, musical instrument. Viewers become participants through play. The work transforms any flat wall into a touch-sensitive surface. A projector and infrared camera mount on the ceiling and infrared emitters mount on top of the wall, allowing the work to detect as many as 10 touches…

  • Still Life

    In 2011, as part of Hack.Art.Lab, I collaborated with composer Mary Ellen Childs and percussionist Michael Holland to create live animation triggered by live performance of Mary Ellen Childs’ composition “Still Life.” We analyzed the piece into 11 sections and created algorithmic video triggered by sound and motion to match each of the 11 sections. The video was projected…