Colin Sullivan

Fibonacci Composition

This semester, for "Interactive Arts Programming" class, I will be making an interactive composition based on the Fibonacci sequence. The piece will involve me playing the bass line of my composition, while a computer takes my performance as input and generates algorithmically determined accompaniments.


My objective is to write a bass guitar composition and design algorithmically determined accompaniments, all based on the Fibonacci sequence.


  • Finish writing a composition that I once started on my bass revolving around the Fibonacci numbers
  • Design various accompaniments to this bass line also revolving around the Fibonacci sequence
  • Experiment with digital audio effects, the parameters of which are manipulated based on Fibonacci sequence
  • Experiment with manual manipulation of different parameters of the auto-accompaniments
  • Experiment with multi-channel audio
  • Use a MIDI foot pedal, or other sensors (accelerometer), to manipulate these parameters during performance of the piece


I am hoping to achieve these goals by creating a few smaller projects to tackle each of them, and then bringing all of the techniques together in the end.


Using the MIDI pickup on my bass guitar, I will not only depend on pitch analysis from the audio signal, but a mixture of information from the MIDI and the audio signal, to ensure that the correct note value is used throughout the rest of the program.


The MIDI from the accompaniments will be generated with Max, then sent via MIDIpipe or some other method to Logic or Live, so it wont sound like garbage.

Digital Audio Effects

Instead of creating effects from scratch, I will experiment with MSP/ChucK patches that have already been created, and merely manipulate various parameters of them based on Fibonacci sequence.

Manual parameter manipulation

I will experiment with manipulation of the parameters of the accompaniments themselves, as well as parameters of the audio effects/channels, to see what sounds good.

Multi-channel audio

It would be interesting to send these accompaniments through multiple channels, to achieve a surround sound effect. I will do the audio channel management in Max/MSP.

In the end I hope to have flushed out this composition I have in mind, and to have some natural sounding, algorithmically determined accompaniments in the piece. My goal is not to merely generate these accompaniments in an arbitrary way, but to ensure that the piece is still pleasing to listen to. I do not want knowledge of my development process to be a prerequisite for listening to the piece. It should stand on its own.