Early in 2009 I made a short visit to Montreal and spent a bit of time with friends from the band Arcade Fire, who I’d met at various festivals during Björk’s “Volta” tour.
After a bit of catching up and playing a couple of games of Settlers of Catan, they explained that they were trying to solve a musical/technological puzzle. They had been programming a lot of simple fast pulsey bass synth parts triggered from their MPC but didn’t want to lock the whole band into chasing a click track. Was there any way to have those parts follow them instead? Did I know of anything that could make MIDI programming follow their big tempo changes live, right there in the moment?
This question came just when my Max programming was starting to take some basic shape and I had done a couple of lessons with Matthew Ostrowski. Rather than looking at existing options I tried to cludge a solution together from scratch with my very limited abilities.
The first thing I tried was a simple list of notes which would be stepped through with each hit of a drum pad. This was pretty fun but really imprecise; if you missed a note or the stick bounced you’d find yourself a note out of sync with no real way of getting back. Could lead to some awkward moments….
Next I figured that the one thing the band had to their advantage was an abundance of manpower – maybe we could dedicate one person to banging out rhythms on the drum pad which would trigger notes played by another person on a keyboard? That way the note person would know where to change, the rhythm person would bring the funk, we wouldn’t get out of sync, crowd goes wild, right? Hmmmm… Let’s just say the novelty wore off really quickly..
I then started to mess around with a variation on the tap tempo concept; what if you could bash out quarter notes with your left hand, then have Max generate faster pulses which would trigger notes held by the right hand? Across the course of another visit or two I refined the concept and added some cool functionality like switches between triplets and 16ths, some controlled randomness, swing, and “wonkiness” could be injected into the rhythm, and I set up some fun arpeggiation possibilities. I also christened it Woodpecker and made a very basic interface. It was a pretty fun exercise but hadn’t yet become a fully solid, usable, intuitive musical solution. I devoted all my energy to new systems for Björk to use while writing Biophilia, Arcade Fire got stuck into the production of The Suburbs, and Woodpecker has remained dormant on my hard drive since.
A couple of years later I spoke with the nice folks at Cycling 74 about my experiences learning Max and what kind of impact it had had on my projects. I’m a huge fan of Max now and the impact it had was immense, please see the interview for more details. Through my ongoing process of learning Max I’ve felt particularly grateful to individuals and communities who generously share their knowledge, ideas, and patches online, so I wanted offer something back for other people to open up, mess around with and adapt as they saw fit.
I just got off the phone with Jeremy from Arcade Fire to ask if I could share the whole backstory and the patch itself; he thought it was a great idea and he also said that while the band explored a lot of other possibilities they never really found a solid solution. We thought it would be a great if after all this time anyone anywhere could see where we got up to and contribute and share fresh ideas – wouldn’t it be cool if a bit of collective energy could create something genuinely useful and musical that we’d all benefit from?
As such, please help yourself to Woodpecker in its current form. At a bare minimum I hope it’s just a nice snapshot of the view from partway up the Max learning curve. Please feel free to pull it apart and stick it back together again as much as you like. Basic instructions and some technical background are included with the download, and can be discussed in the thread here.
WOODPECKER INSTRUCTIONS
Install the patch by putting the folder somewhere your version of Max will find it. If you don’t have Max you can download a demo here: http://cycling74.com/downloads/
You’ll need a controller that can generate midi notes; a keyboard is a good place to start.
When you open the patch, begin by assigning your midi inputs and outputs with midin and noteout. The input should be your controller and the output should go any kind of sound generator. Woodpecker’s pulse generation engine is currently set to be triggered by midi notes 36 to 40, or C1 to E1, so make sure you set your controller to an octave where those notes can be played. If you’re not sure where you are look at the little “Current Midi Note” indicator and adjust accordingly.
Okay! Now start bashing away on C1 in some kind of a regular rhythm. You’ll see the first of the row of four buttons flash with each key press, and after a few you’ll see rest of the four sequentially flash. You’ll also see the toggle next to “Tap Smoothing” is active. While still bashing out your rhythm hold any midi note higher than E1 and (hopefully!!!) you’ll hear a sequence of that note pulsing away on your sound generator. Woodpecker lives! Now try experimenting with speeding up, slowing down, fast changes, gradual changes, etc.
Now try clicking on the “Legato” toggle; this will sustain your note after you release it. You might notice that changing notes can be a bit clunky and messy – try toggling “Quantize Changes” in order to have your new note cleanly activated on the next pulse. If you want to take this a step further click on the “Change on 8ths” toggle and – voila! – your new notes will start playing on the next 8th note instead of 16th. These are really handy features if you’re only as good a keyboard player as me.
Now, with all this going on, try messing with the “Wonky” and “Swing” dials. Wonky introduces some hazy organicness into the timing of the pulses, while Swing tries to fool you into thinking that you’re super damn funky. Click on the “Straight” button right next to “Swing” to bring everything back into precise shape.
The three knobs to the right of “Straight” control the velocity and length of the note, with the option to randomise the velocity if you’re that way inclined. Try messing around with these in conjunction with Wonky and Swing. If the duration is a bit long you might find some of your notes trip over each other… You’ll know it when you hear it and you’ll need to shorten your notes accordingly
To the right of the toggle boxes you’ll see a fader with an integer display and “Octave” written beneath. This allows you to transpose the notes your right hand is playing, mainly so that you can take advantage of Woodpecker on a little two-octave keyboard.
Now at this point, try playing some chords with your right hand. You’ll hear the whole chord being triggered with each rhythmic pulse. To the upper right of the Octave fader is a big toggle switch with the label “Arpeggiator” next to it. Activate the toggle box and your chord switches to a sequence of individual notes stepping through the notes in the chord. I believe on the streets they call this “Arpeggiation”. Gangsta!
Okay, to the bottom right of the Octave fader, just below your midi settings, there’s a subpatcher called [p counterarp] with an invitation to double click it. When you do so you’ll see another small window open which has some more in depth arpeggiation controls for you. Start by clicking around with the “up”, “down” and “updown” message boxes, you might get a sense of deja-vu at their appearance.
Now if you switch back and forth between chords of different densities (ie two note chords, then five note chords) you’ll notice a horizontal fader jumping back and forth to follow your playing. Play something juicy with a whole mess of notes. Now click on the toggle next to “Multislider Arp On”. Notice what happens? Suddenly your big juicy chord has been reduced to just one note. Don’t despair though, there’s a multislider to the right. Try raising the second or third fader a couple of notches up… See? Now click the first one another notch above that… Crazy! The multislider arpeggiator basically allows you to set the sequence in which you want the notes of your chord to play – so you can get out from the confines of linear arpeggiation. Mess around with it and see if you find anything fun. At this point you may notice that the sequence of notes in the arpeggio is only ever as long as the number of notes you’re holding down. If you want to go beyond that limit then just click on the “Manual Arp Length” toggle, then slide the fader to wherever you feel, and see what that does for you.
Finally, back in the main Woodpecker window, you’ll notice that you can play smoothed or unsmoothed Quarters or Thirds depending on which note you play with your left hand. Thirds are obviously triplets – you’ll have a three count instead of a four for each bash of the key – and Smoothed vs Unsmoothed makes that triggering and pulsing smoother or not. Just play around and see if you can notice the difference, you’ll get a feel for which one to play when. You’ll also notice that with some practice you can pretty seamlessly switch between thirds and quarters. There’s also the Bypass functionality of E1. This allows you to get the pulse engine ticking over without actually generating notes, this is really good for counting in at the start of a song, or joining in when other people are already playing – just bash on E1 for a bar before you come in and everything will be fine.
Hopefully by this point you’ve found some charms in the patch, but also some limitations or quirks that are on the wrong side of the charming line. In other words, hopefully you can see all kinds of ways to dive into the patch to start to improve it or modify it. To help you while you’re patching there is a “Tap Generator”. This simply pretends to be your left hand absent-mindedly tapping away on C1, so that you can keep both of your hands free for your patching.
Please share your thoughts, experiences, and new versions with us at a thread dedicated to it here. I for one would love to just streamline the interface a bit more – I hadn’t discovered [textbuttons] or [led] objects among a myriad more. I also have a sneaking suspicion that the fundamentals of the timing engine are primitive at best, having read that [metro] isn’t the sharpest tool in the box. I could go on all day!
Woodpecker is a patch shared freely under Creative Commons Attribution 3.0 Unported License. If you are feeling like sharing beyond the circle of us priviledged enough to get to spend time messing around with Max, please make a generous donation to Kanpe or Partners In Health and make the world a better place.
Best wishes,
Damian

Woodpecker is licensed under a Creative Commons Attribution 3.0 Unported License.