I improvised this piece on my keyboard, in two passes. What gives it its interesting texture is a little Pd patch I created, which sits between the keyboard and Logic. It takes chords and sends each pitch automatically to the individual instruments. Successive notes are sent in round robin fashion, alternating between the 4 instruments. So even when I played a single line melody on the keyboard, the result was a tapestry of different instruments alternating the notes of the tune. This is called hocketing in European Medieval music literature, and is also used in Indonesian Gamelan music. Anton Webern was especially fond of splitting lines up between instruments like this (Arnold Schönberg coined it “Klangfarbenmelodie”, or tone-color-melody). Creating this arrangement would have been quite painstaking without the Pd patch, as I would have had to manually assign individual notes to each instrument after playing the part. I got the idea for the Pd patch when I wanted to play chords on the Garritan Jazz & Big Band sounds, but they’re designed for solo playing and so they’re monophonic (only play one note at once, like real horn and woodwind instruments). There are versions of the sounds that overcome this limitation, but they are only configured in homogenous sections (ie. all trumpets playing the chord, or all trombones). I wanted to be able to load up a bunch of different instruments and sketch out polyphonic music quickly by just playing chords on the keyboard. Here are the instruments assigned to the 2 tracks:
1. Trumpet, Tenor Sax, Trombone, Baritone Sax
2. Flute, Bb Clarinet, Bass Clarinet, Flugel Horn
This gives the first group of instruments a bright tone, and the second group a mellower tone. Sometimes you can hear the two groups playing up that contrast, other times they all intertwine as a single large texture.
Playing this is really fun. There’s something about being surprised by the outcome as you’re improvising. Even just repeating a chord yields constantly shifting texture since the notes of the chord keep getting assigned to different instruments. For example, the first chord may have the trumpet on the top, the tenor and bari in the middle, and the trombone on the bottom. The next repetition may have the tenor on top, the trombone and bari in the middle and the trumpet on the bottom. I originally wanted to set it up so it was smart about ordering the voices consistently, but this was so cool that I decided to keep it. There are some glitches, like when you try to play low notes thinking the trombone will play them, but they get assigned out of the range of the trumpet (resulting in silence). But hey, I usually play too many notes so that’s maybe not a bad thing! It would be interesting to create a “unison” mode, where it makes sure all the instruments are playing, so if you play a single note it sends it to all 4 players (2 notes would get split between 2 players). Some kind of automatic pitch bend variation would be neat as well, giving each player its own slightly different personality. Same with the mod wheel: slightly delay the volume swells or scale them just a bit differently for each voice, etc.

The patch is pretty simple. The heart of it is the poly object, which keeps track of note ons and offs and assigns a voice number to each note, round robin fashion. I just directly mapped the voice number to the midi channel. Garritan maps the modulation wheel to the loudness of the playing of the instrument. I copy the incoming controller data to all 4 midi channels so all the instruments in the ensemble are affected equally with the mod wheel. Pd is set up to listen to the hardware usb midi port and output on the IAC bus, which Logic is listening to. I made sure to route the same hardware port to a monitor object in Logic’s environment to avoid duplicate events (otherwise Logic would see the same events Pd does, and the ones Pd is forwarding through). I was inspired to go ahead and try this Pd idea by this post on Thomas Dolby’s blog where he describes how he uses Max (the commercial cousin of Pd) in conjunction with Logic in his live performance.
I did go back and tweak the live improvised recorded data, mainly to take things out (did I mention I tend to play too many notes?) here and there to allow for more contrast and breathing room, and to clean up some of the recorded mod wheel data, and to give the 2 sections a slightly tidier ending. It needs more controller tweaking (pitch bend, vibrato) to make the performances a little more life-like, but this is mostly just a demo of the live playing patch.
Relax at the Poconos.

I’m wondering if you ever figured out a way to do this in the Logic 8 environment …??
I guess I can try Pd, but I’m not familiar at all…
thx
dave
Hi Dave. Thanks for your comment. I upgraded to Logic Pro 8, but I haven’t seen whether there’s new stuff in the environment related to this. My impression is there isn’t, but now I’m curious. BTW: Pd has recently gotten a nice update. See this post at CDM:
http://createdigitalmusic.com/2007/11/04/pd-maxs-free-cousin-gets-polish-and-ease-in-extended-build/