Friday, July 27, 2012

Meta-Trombone Revisited

The recent release of version 2.0 of Mobius has spurred me to redesign my meta-trombone Bidule patch.  Since I can have both the new and the old version in the same patch, my matrix mixer (and some of the most complex patching) can be eliminated by using both versions of the looper. 

T set flow

The first looper will be the one that is “played” by trombone notes.  This is what I mean by playing the looper:

  • trombone notes will trigger the loop playback from a position determined by the note value
  • and/or trombone notes will change the playback rate relative to the note played
  • and the amplitude of the loop will follow the trombone performance by using an envelope follower.

I’ll have a second instance of Mobius down the line that will resample the output of the first looper in addition to (or in the absence of) any incoming audio.  Effects will be applied after audio in, after the envelope follower and after the resampling looper.  I’ve yet to determine exactly what those effects will be, but the success of my vocal set patch leads me to consider a rather minimalist approach.

Speaking of minimalism, I’ve been listening to a lot of Steve Reich these days and I’d like to incorporate some phasing pattern play into my set for my upcoming performance at this year’s Y2K festival.  One way to quickly create some interesting phasing composition is to capture a loop to several tracks at once and then trim some of the tracks by a predetermined amount.  This can be easily accomplished with a script and I’ve been toying with some ideas along those lines. 

Something else to which I’ve given some consideration is the development of midi effects to insert on the midi notes interpreted from the trombone performance.  Some midi effects that would be easy to implement:

  • midi note delay;
  • arpeggiator;
  • remapper (to specific key signature);
  • transposer.

It will be interesting to see what impact these effects will have on the loop playback of the first looper.  Another idea is to remap notes to parameter selection or note velocity to parameter value.

Another significant change is that I’ve acquired hardware to interpret midi notes from trombone performance.  I’ve decided to go with the Sonuus I2M instead of my previously discussed approach mainly because I was wasting too much time try to make the ultrasonic sensor work properly.  Bottom line, it wasn’t that interesting and I’d rather be playing music. My current plan is to use a contact microphone to feed audio to the I2M and to have a gate on the midi notes it generates in Bidule that I’ll activate with a footswitch.

I’ll also be designing performance software for the iOS as I intend to attach an iPod touch to the trombone to serve as my heads-up display for various system states (updated wirelessly with OSC).  I’ll be controlling the iPod with a Bluetooth page-turning footswitch.  One pedal on the footswitch will change between different screens and the other pedal will activate an action available on that screen.  For instance, on the notation screen, pressing the action pedal will display a new melodic line (either algorithmically generated or randomly chosen from previously composed fragments).

Now all I have to do is build it (and they will come…  or more accurately, I will go to them).

Thursday, July 12, 2012

Bring a map

Controller mapping, the art of selecting which parameters is controlled by what hardware, has been on my mind a lot these days as I prepare for an upcoming performance as a Featured Artist at this year's Y2K Live Looping Festival in California (I'll be playing in San Jose and Santa Cruz).
Before beginning this particular mapping, I had a vision I wanted to instantiate.  I wanted a system that would allow me to quickly create complex and ever evolving loops using only words and other vocal sounds.  I also wanted to limit myself to musique concrete manipulations: Loops, cutting and splicing sounds, delay, pitch shifting and reverb.
This is the audio flow I came up with:
V set flow
Incoming audio is sent to outputs and also split to four tracks on a multitrack looper.  Before reaching the looper, each signal path goes through a pitch shifting effect.  Each track then goes to its own post-looper effect.  Tracks 1 and 2 go to a delay while Tracks 3 and 4 go to a reverb.  Those two groups of tracks are mixed together and the result is sent to a crossfader than selects between these two sources.  The output of the crossfader is mixed with the audio input and sent out.  
My looper is Mobius.  I could’ve used another looper for this project, but my familiarity with this software and ease of implementation won out over wanting to play with another looper (I’ve had my eye on Augustus for a while).
My pitch shifter is Pitchwheel.   It’s a pretty interesting plugin that can be used on its own to create some interest in otherwise static loops.  Here, I’m only using it to shift the incoming audio, so it’s a pretty straightforward scenario.
My reverb is Eos by Audio Damage.  Do you know of a better sounding reverb that is also CPU friendly?  I can’t think of any.  My delay in this project is also by Audio Damage.  I’m using their Discord3 effect that combines a nice delay with some pitch shifting and filtering with an LFO thrown in to modulate everything.  This effect can really make things sound weird, but I’ll be using more subtle patches for this project.
To control all of this, I’ll be using my trusty Trigger Finger to control the looper and my Novation Nocturn to control the effects.  Here’s what I decided to do for looper control:
V set control
Starting on the left, the faders will control the volume of my tracks in Mobius.  The pads and rotary dials on the right are grouped by column and correspond to tracks 1 to 4.  Each button perform the same function, but on different tracks.  The bottom row of pads call the sustain substitute function on a given track.  The row immediately above it does the same thing, but will also turn off the incoming audio, so it will act like my erase button (with secondary feedback determining how much the sounds will be attenuated).  The next row up sends the track playing backwards for as long as the button is pressed and the final row of buttons mutes a given track.  The first rotary dial controls the playback rate of a given tracks and the top one controls its secondary feedback setting.
To control the effects, this is the mapping I came up with for the Nocturn:
V set effect control
The crossfader is obviously used to control the crossfader between the two track groups.  After that, each track has two knobs: one that controls the amount of pitch shift to audio coming in to the track and another that controls the wet/dry parameters of the tracks post-looper effect.  The pads on the bottom will select different plugin patches, but the last one on the right is used to reset everything and prepare for performance.  Among other things, it will create an empty loop of a specified length in Mobius, which is needed before I can begin using the sustain substitute function.  Essentially, I’ll be replacing the silence of the original loop with the incoming audio.
One thing I won’t be doing is tweaking knobs and controlling every single parameter of my plugins.  I’ll rely on a few well-chosen and specifically created patches instead.  Also, keeping the effects parameters static can be an interesting performance strategy.  When I heard Mia Zabelka perform on violin and body sounds last year at the FIMAV, one thing that struck me was that she played her entire set through a delay effect without once modifying any of its parameters.  The same delay time and the same feedback throughout.  For me, this created a sense of a world in which her sounds existed or a canvas on which her work lived.  It’s like she changed a part of the physical reality of the world and it made it easier to be involved in her performance because I could predict what would happen.  Just as I can instinctively predict the movement of a bouncing ball in my everyday universe, I became able to predict the movements of sound within the universe she created for us with her performance.
Here's a recording I made tonight by fooling around with this setup: