M a r t i n X S. X G o t f r i t XXXXXXXX[current projects]

Ghost in the Machine

GitM represents 30 years of fascination with musical automata. It expresses my interest in exploring the nature of the constraints that I believe govern my own compositional process. It mirrors how I value spontaneity and improvisation. It is based upon the notion, so well expressed in the work of the composer John Cage, that through the use of indeterminacy one can reflect the current state of the cosmos. I have used the system to sketch out compositional ideas, generate an accompaniment for MIDI guitar and provide music for a variety of music, theatre and dance performances.
GitM system at telematic dance performance - UC Irvine April 28 2007
GitM is an autonomous real-time composition system I have been developing since 1994.It is all written in Max/MSP/Jitter - an object oriented graphic based programming environment. The system began as an accompaniment tool to be used with a MIDI guitar. This early work can be heard in the several versions of Hut20 available on CD. (So named because the programming was done at the Banff Centre for the Arts in one of their lovely studios in the woods). As processors and software improved synthesis, sample playback, signal processing has been added. There are a variety of interfaces or "handles" for the system: some optimized for live performance, others for composition and others for control via data from sensors or machine vision systems. At the heart of it all is an algorithmic "engine' that generates events optimized for music: a pitch, an entry delay or time between notes (rhythm), a duration for the note (staccato/legato), a dynamic (often loudness or silence), a pitch offset or bend (ornamentation, alternate tunings) or control data for other parameters of the sound generating systems (filter settings, granulation parameters, delay times, etc, etc.). The basic window looks like this:

From this screen image one can see that there are many parameters available to control a single voice (there are sub windows not visible here as well). In order to use the system without having to make hundreds of decisions for each gesture, I've developed a number of higher level control structures so to further a "top down" composition approach.

 

One such approach looks like the window below - an interface for four voices that can easily be controlled by only a few (for example) knobs/sliders/buttons - either virtual or real.

The parameters available here are

tempo: number of 1/4 notes in a minute as generally is the convention
density: the % of time that a note will sound when generated
rhythm: the rhythmic feel - from "chaos" to very_square
pitch selection: the method used to select pitches from the scale
dynamic range: the range of loudness
dynamic selection: how the dynamics for each note is selected
scale: the set of pitches available (subject to accidentals)
instrument specs: the characteristics of each individual "player" or voice (for example its pitch range, whether it can bend notes, etc.)

The audio clips linked below were generated using a four voice GitM configuration. Variations include three of the voices providing an accompaniment and the fourth acting as a solist, as well as duos, trios and a string quartet. Save for an initial set of the parameters the system performed most of these autonomously*. The system determined modulations, pitch ornamentation and phrasing.

[clarinet and three voices]

In this clip the system also modified the clarinet timbre using a frequency shifter.

[violin with accompaniment]

[violin duo]

In this example, the second violin is responding to the material generated by the first using a simple Markov algorithm.

[violin/viola & piano]

In this example, GitM generates an extended violin (some notes enter the viola range) and a piano part. Also illustrates the chord function. As in the other examples this is unedited.

[string quartet]

*This 13 minute example demonstrates a range of behaviours of the GitM system when under a simplified control system. User chose scale, rhythm style, performance technique (pizz, arco, etc.) pitch selection style, tempo and density. System made performance technique decisions based upon tempo and density as well. This example features a looser tuning model - this may sound "out of tune" to some listeners.

Current GitM Schema