Programmable Instruments

Patches programmed and examples performed by Robert Willey


The article is here


Supplements to the article

Information on using Max patches

Unstuff the archive, 68K.sit for Macs with 68K based processor, or  powermac.sit for iMac/G4, etc. You end up with a group of standalone applications, you don't need Max to run them.

If you don't hear anything when you play, try double clicking on input (notein, ctlin) and output (noteout, ctlout) items and select the OMS device you want to use.

The PC version of the patches is coming soon...


Article Figures and variations

The names of the patches in the stuffed folder correspond to the numbers in the article. Some have variations that are not in the article.  Clicking on the name of the figure displays an image, and there are indented Quicktime videos, GM MIDI files, and mp3 audio examples.

Figure 3: notein connected to number boxes. The 0’s will change to numbers as soon as you play something on the keyboard.
Figure 3a: what you see after playing a note and the 0's have changed.

Figure 4: notein connected to noteout. No processing takes place yet.

Figure 5: controller performance comes out in octaves.

Quicktime movie: the scale played on the bottom keyboard triggers lit octaves on the upper keyboard.

Figure 6: Notes are sent out two MIDI channels, so that you can have different timbres and volume levels for the original and shifted notes.
Figure 6a (variation): transposed notes go out one MIDI channel higher. Setup split pan to separate the two channels and balance the individual volume levels. Uses sustain pedal to send all notes off, in case you change the transposition while holding down notes.

fig6-tri.mid: I play set of major, minor, diminished, augmented triads, at the same time the patch shifts up the chords, so for every triad that is played six notes come out.

fig6-28.mid: transposed notes up 28 semitones. When played in a higher register they just add brightness to the timbre. The lower the notes that are played, the more the transposed notes are perceived as a melody.

Figure 7: Notes are inverted. The higher you play on the keyboard, lower the notes sound. The 0’s in the boxes down the left side will change when you play notes showing how the key number is changed after subtracting 127 and then taking the absolute value.

Quicktime video.  As the fingers go up the scale, the notes come down, and vice versa.

Figure 7a (variation): can send out program changes, only sends out inverted notes while sustain pedal is down.  The box marked "press sustain pedal or click" can be checked with the mouse or by depressing the sustain pedal.  The three gates below are now routing input to their left outputs, which go no where.  Checking the box would switch them to the right output, sending the information on to be inverted.
Figure 7b (variation): volume pedal cross fades between regular and inverted notes.

fig7a.mid: a melody (with plucky timbre) is played in the upper register and the inverted notes (with brass timbre) are faded in, heard in a low register.  Then a melody is played in the lower register and the inverted notes when  faded in come out higher.

figure7b.mid: notes played on the keyboard sound on a harpsichord on one side, inverted notes on a piano from the other side.  The volume pedal cross fades between the two. A major chord when inverted becomes minor, and vice versa.

Figure 8: Refracted notes go out on a separate channel, allowing independent volume control from either the volume pedal or modulation wheel.
Figure8a: Refraction only happens when sustain pedal is down or check box is checked.
Figure 8b (variation): volume pedal (or mod wheel) cross fades between the two channels.

turkeyo.mid: the notes of the original "Turkey in the Straw"

turkeyr.mid: the same performance, refracted

lastturk.mid: "The Last Turkey in the Straw" variations, showing pitch and time refraction.

Figure 9: The harder you play, the lower pitch and longer duration the notes are that come out. The result will be atonal.

Quicktime video: the same notes played by one or two fingers on the lower keyboard play a variety of refracted pitches on the top keyboard, which can be seen with lights.
 

figure9.mid:  the duration factor was changed from the default multiplier of 5 to 1 so that the created notes would be very short.  Towards the end the factor was increased to 4.


Figure 9a: The harder you play, the higher the octave the pitch will sound in. Pitch class will be maintained, making it possible to play conventional melodies and chords

fig9a-up.mid: chord progression for "Upstate".  The nylon guitar voice continues a voicing during each measure.  The notes are doubles on a brighter guitar voice, but they are moved up octaves depending on the velocity with which the keys are played.  The panning is also controlled by the velocity.

fig9a.mid: chords with bass and melody line to "Upstate" (©2003 Robert Willey). The melody line was passed through another patch ("vol-pan") that controls the pan by the volume pedal, while passing the notes, volume pedal, and pitch bend through.  The changes in panning of the nylon string guitar have been turned off (set to the right channel), while the brighter generated guitar notes are left free to wander between left and center.

Figure 10: Each performer’s patch sends and receives information from each other. Chris Dobrian played on a MIDI guitar and I played keyboard in a piece called 2-way Dream. There isn't anything inside the two sub patches at this point.

You can listen to 2-way Dream.

Figure 11: Cereal Music - incoming notes trigger a 12-tone row. In the upper right hand corner is the preset object. Each preset recalls any parameters of your choosing. Presets are recalled by clicking in the little boxes, or, in this patch, by stepping on a pedal (controller #68) so that a pre-arranged series can be conveniently accessed without leaving the keyboard.  Many of the connecting lines have been hidden.  The mod wheel sets the volume of the thru channel, the volume pedal the volume of the other channels.

Quicktime video: the first section is the row--the lights blink on the upper keyboard showing the row being triggered by notes played on the bottom keyboard.  In the second section notes are passed through (and lit on the upper keyboard) while riggering a variety of timbres.  In the last section (in C lydian) only notes going through on channel 1 light up on the top keyboard.

cereal music, performance from which video was excerpted, using Roland Canvas, E-mu Procussion, and Korg Wavestation.  The quicktime videos are to see better how the system responds to a performer, the audio is monophonic through the camera's microphone and picked up the Canvas only.  With the mp3 audio you get full range sound, stereo, and more complex timbres.
 

cereal.mid: 12-tone atonal improvisation, changing parameters by clicking on the presets between phrases.  During the second half (sax and organ notes become more prominant) you can hear both the note that is being played (piano timbre) as well as the triggered notes.

newminor.mid: The "row" of pitches doesn't have to be 12-tone chromatic.  This improv used a different set of (C minor).

newmajor.mid: another preset calls up notes in F major.

blues11a.mid: improvisation using blues riff rather than row. Output split among different channels. Go through program changes by pressing program change buttons.


Additional fun

Patches

microascii (Microtonal ASCII). Play third (or other) tones from ASCII keyboard. Turns (Mac) computer keyboard into microtonal instrument.  Too bad there's no velocity sensitivity.

score.mid: typing the score

Links

Cycling74 - The company who is developing Max and Jitter.  There you can find the documentation and links to more resources.

Some of my more complex patches are discussed in an article on algorithmic improvisation.

Robert Willey's homepage, creative work programmable instrument pieces such as Saudades de Ouro Preto, Un tiro de dados, Unprepared Music for Prepared Violins, Frontera norte, and Caxambulismo.

Composing Interactive Music by Todd Winkler.  Academic overview of programming, Max, interactivity, and examples on CD-ROM.


©2003 Robert Willey

http://willshare.com/willeyrk/creative/papers/programmable