Allow me to share a few words concerning my synth-pop debut at the sold-out Antidote Electronic Music Festival in the Shanghai water town suburb of Zhujiajiao last Saturday.
This was the first time I’ve done a solo set like this since a three-song open mic night performance at the Art Bar in Seattle on July 17, 1997. And by “set like this” I mean full-on synth-pop, with me singing and playing some keyboard parts live on top of bright, intricate, rhythmic backing tracks (essentially the Depeche Mode recipe).
First step was to properly record all of the songs, and the last one, “Prebound,” was finished just over a week before the festival. I’ve started doing three mixes of each new song I record: one full version, one karaoke version (you never know), and one “music minus one” version, in which I mute the main keyboard tracks that I want to play live.
Once all five songs in my short set were written and recorded, I wrote three patches in Max/MSP to help me pull them off live.
The first patch behaves very similarly to Windows Media Player or Winamp or whatever: simple transport controls (play, stop, pause, resume), with a big slider at the bottom to instantly access any part of the song (primarily for rehearsing). I use this to play back the “music minus one” mix.
Then I wrote a simple sample-playback synth in Max. I wasn’t about to haul all of my synthesizers out and set them up on stage, so I sampled the eight or so sounds I required. When MIDI note information comes in from my five octave M-Audio Axiom keyboard controller (connected via USB), my program maps the sampled notes across the full keyboard range, with a simple attack/decay envelope applied. The result is generally not quite as dynamic or vibrant as the original sound, but close enough.
Last I wrote a patch that would track my current position in each song and load different sounds into my sampler at the necessary times. (My playback patch outputs the current song position in milliseconds, making this pretty easy to do.) If you start playing in the middle of a song, it’s smart enough to look back and see what the current patch should be and load that. I didn’t use any of Max’s sequencing objects for this, just a simple collection.
None of this sounds super impressive, I guess. Altogether it probably took me about four days to do. I suppose a lot of people would have done this in a sequencer like Cubase, and I imagine that could work well enough (although I find Cubase a terrible patch librarian). The main advantage for me was that everything could be completely automated, so that on stage I just had to type 1, 2, 3, 4, or 5 to load one of my five songs, the hit the space bar to start, and all of my patch changes happened automatically, so I could focus instead on singing in tune.
The show went alright, not bad for a matinee. I was up first, so folks were still trickling in, but those who were there seemed to dig it well enough. There were a few flubs that I need to iron out with more practice. It was a terrible idea to follow “口口口口口口口口” with “Prebound;” after shouting at the top of my voice, it was very hard to keep that low falsetto in tune. Also, I borrowed a keyboard stand (from the friendly folks over at Resist! Resist!, resplendent in their fine debut performance!), and it was a little short for me, so my whole posture felt out of whack (though I tried to pass it off as an intentionally splayed and petulant rock stance); it was really silly of me not to practice and perform with my own keyboard stand.
Next steps: practice, buy my own keyboard stand, add more songs to the set, and update my sampler to handle keyboard splits! Then when all that’s solid, I’m going to work on real-time algorithmically generated visuals, but that’s a ways off, I think.
Big thanks to Michael and the Antidote crew for inviting me to participate, a super swell time!