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: http://www.damiantaylor.com/media/