OSCAR Interactive Improvisation Software

Computers are used as compositional tools in variety of ways, ranging from the use of software sequencers and samplers to mimic traditional instrumental ensembles, to the use of software-based synthesis programs such as Csound and Jsyn to create entirely new sounds. Perhaps the most intriguing compositional use of computers, and certainly the application with the least precedence in pre-computer compositional technique, is the attempt to make computers interact with musicians in real and musical ways. Interactive music systems are designed to respond to musical input in such a way so that they can be used in the live performance or composition of music.

Many types of interactive music systems have been created, with a wide range of intended uses. For example, Joel Chadabe's M and Jam Factory, take melodic fragments as input, and perform algorithmic manipulations on them. The activity of the program, and thus the nature of the music it outputs, is largely controlled by the user; many of the finer details, such as the specific notes that will be output at a given time, are controlled by the computer. Using a mouse and QWERTY keyboard commands, the user can thus "steer" the music that is being produced.

Another approach is taken by Dr. Robert Rowe's Cypher. Cypher's "listener" looks for specific types of events in an input MIDI stream, such as a series of dense chords or a particularly high note. When an expected event is recognized, the listener sends a message to the "player," which then generates appropriate output. The user can connect different types of input events to different types of output events. When a series of dense chords is input, for example, the program can be told to output arpeggiated versions of the chords. When a very high note is input, the program could be instructed to output a very low note. The possible input events range from low-level "perceptual" recognition to higher-order musical analysis. Possible output events include the generation of specific types of new musical events and the transformation of the input. Once Cypher is set up with a number of connections between input and output events, it can be used as an accompanyment or duet partner in rehearsal and live performance.

For an in-depth look at the nature and design of interactive music systems, consult Dr. Robert Rowe's Interactive Music Systems and Machine Musicianship.

OSCAR is the name of the interactive music system that I developed between January and December, 2001. OSCAR is MIDI-based, and was created in the PD graphical programming environment. OSCAR's goal is simple: if I play a Bach-like melody into OSCAR using a MIDI keyboard, OSCAR should generate one or more additional melodic voices as counterpoint to what I'm playing. Further, OSCAR should learn the ability to do this by "listening" to Bach. In other words, if I play a series of Bach's fugues into OSCAR, it should analyze this input and amass a store of "knowledge" about how Bach works. It would then use this knowledge to play along with me in a live performance.

After eleven months of work on OSCAR, it became clear that the system would never behave in the way I hoped it could. I therefore retired OSCAR before the system could participate in even a single public performance. Yet, despite OSCAR's failure as a performance system, it was a very successful experiment. Included below are descriptions of OSCAR's components, audio examples of OSCAR's output, and downloadable source code. Also included is an analysis of the system's successes and failures, and my reasoning for abandoning the project.

     Animating OSCAR--transcript of a paper summarizing my early research into interactive music systems.
     Brains--data management and storage

Email Greg Back to main page