Luisa Pereira Hors

The Counterpointer

The Counterpointer is a device that brings the baroque rules of counterpoint to an interface familiar to electronic musicians: a step sequencer.

The Musical Sequence: Expression through Repetition

Although repetition has always been an essential component of music, electronic music has a reputation of being irritatingly repetitive. The problem in these cases might not be repetition itself, but the fact that it is not thoughtful –that it does not come from a conscious decision but is rather a consequence of the features of the technology being used. <br /><br /><br /><br /><br /><br /><br /><br /> Inspired by Arpeggiators, a function offered by many sequencers, I built a device that, based on a melody input by a musician, generates overlaying voices that follow the rules of counterpoint, vastly used by baroque composers. The Counterpointer is a playful attempt of adding thoughtfulness to melodic repetition in electronic music –even if this thought is performed by a computer.

I did a quick research on algorithmic composition, and found a wealth of academic papers that could easily keep me busy for months. I decided to focus on counterpoint for two reasons: my love of Bach's Well Tempered Clavier, which I believe was written in part to demonstrate these techniques, and also the humor in making such a device –I suspect whatever arrangement is generated by it will be neither a beautiful example of counterpoint nor a valuable addition to an electronic composition.

User Scenario
Ana is playing with her analog synthesizers, which she combines with other sounds and beats in her audio editing software. She plugs in the Counterpointer, and starts moving the eight sliders up and down. Her melody is looped, and she spends a while tweaking it. She sees different red lights turn on as she does this: her 'cantus firmus' is breaking some counterpoint rules. Sometimes she chooses to ignore these warnings, but this time she's curious about what a 'correct' melody might be like, so she keeps changing notes here and there until the red lights are all off. Once they are, she pushes the 'generate' button and notices her simple melody suddenly sounds antique. She pushes the button a few times to hear different options. When she finds one she likes (or maybe finds particularly funny); she lets the sequencer keep playing it and moves on to play with some synth parameters, changing the timbre of the sound, and adding other parts to her song.

The Counterpointer has a hardware and a software component. A set of slide potentiometers, LED's and switches are connected to an Arduino microcontroller, which sends their values and a clock signal to an application built using Processing. The clock signal sets the pace of a software-based sequencer which, apart from triggering the input melody, analyzes it and generates other voices that satisfy the Counterpoint rules. For the first version of the Counterpointer, I implemented a few transformations from scratch ('invert', 'retrograde'). The results of these transformations were not very impressive, however, and I wanted to expand them. After finding a 50-page paper about the implementation of a counterpoint-generating algorithm written in Pascal, I decided to look for an open source project written in Java that solved this problem. I was happy to find one: CFGen, "a tool that makes it easy to do your Music Theory homework". I separated the checking and generation code from the graphical interface and adapted it to be able to use its functions from my sequencer.

After having worked creating screen-based interfaces, I found it very satisfying to create a tangible one. I would like to learn more about fabrication –materials, hardware, assembly–. I also re-discovered something I've known all along: how digital systems make our programming lives incredibly easier (before building our digital sequencers, we built an analog one). I am still curious about algorithmic composition, and would like to explore this subject further, perhaps incorporating known strategies into beautifully built devices that naturally fit into an electronic musician's workflow.