Dan Wilcox > robotcowboy song structure pd patches and wiimote experiments

I came to STEIM from Oct 1st to Oct 15th to develop new music for my wearable music system, robotcowboy, using gamepads, yet ended up focusing more on musical exploration and creating song structure/sequencing objects in PureData as well as wiimote application for guitar gesture control.
backstory – robotcowboy project synopsis:
robotcowboy proposal pic
The robotcowboy project is my attempt at using a computer for live musical performance. No laptop but a screen-less wearable computer running linux and PureData. By wearing all of the computational hardware on my person and building tactile controllers, I’m trying to embody the sound back into the person making the music. The man and machine become a symbiotic organism in which the machine responds to my control signals and generates sound which I respond to in like. I want to be able to run around and jump and idiot when I play and a laptop wont let me do it …

initial goals:

  • replace the robotcowboy button_box serial controller with a gamepad-based version
  • develop several hacked gamepad controllers
  • prepare corresponding PureData musical mapping patches for each controller
  • create some songs for the upcoming robotcowboy 3-month US tour and for the application to the Japanese Media Art Festival

Initially, I planned to come and develop some new hacked gamepad controllers such as spinning weights connected to potentiometers, a touch sensor glove, etc but as I examined the songs I have created using the system so far, I realized that I did not have a way to build overall song structures. Most of the original songs are more like extended musical mappings for its respective controller which has worked quite well for improvisation thus far, yet as I have toured in the US before and know the audience I will be playing for, I know I needed to craft more complex music.
revised goals:

  • replace the robotcowboy button_box serial controller with a gamepad-based version
  • build an extensible drum machine in PureData
  • figure out some way to sequence a song
  • update the robotcowboy pd object library
  • experiment with new sounds in pd
  • experiment with using a wiimote attached to my guitar



To control my pd patch playlist and to start/stop playback, I built an Arduino serial box with a play button at the beginning of the robotcowboy project. However, I have been running into the simple problem that the separate 9V battery power supply is not reliable and if it runs out on me, I have no way of changing songs … talk about a design flaw! At STEIM I built a new prototype button_box based on a hacked Saitek P-90 gamepad so that the power will be drawn from the computer and I can add more controls to the box.
PureData results:
I found Chris McCormick’s s-abstractions for PureData which contain some great sequencing gui objects. I followed these examples and built my own gui patches which allow for state saving so I can seamlessly save the settings as create the songs in pd and have bundled up my rc-patches as a library on my website: software.robotcowboy.com/rc-patches. Using the drum machine and sequencing score, I can now have control over the timing of my sound/note generation from the live midi from my midi guitar. I never intended to fully sequence ever note, every beat, but to just structure the different mappings and generation algorithms into a coherent song.
SpaceLight example:
SpaceLight is the first sequenced song I made in pd after I returned from STEIM. It consists of a drum track, live guitar/mic vocals, and bass/lead midi tone generation. You can hear it now on my myspace (redundant?). Everything is played live except the drums, which I accept as a needed base for a structured song. Below are screenshots from the song patch:
SpaceLight song score
SpaceLight song score in pd
SpaceLight drum sequencer

SpaceLight drum machine
pd audio experiments:
While at STEIM I made several demo songs to try different mixes of the distorted midi guitar + midi generation in pd. I was finally able to sit down and try to find a sound which works with my particular musical expression. Also, I found a way to generate chiptunes-style sounds in pd, see the demo BitStomp. These rough demos are labelled “STEIM demos” and can be found at music.robotcowboy.com.
wiimote + guitar:
Before I had come to STEIM, I had planned on building a distortion circuit and wiimote into my Casio DG-20 midi guitar’s amply spaced innards. While at STEIM, I brainstormed so applicable gestural controls using the wiimote strapped to the guitar itself:

  • virtual knob: use the accelerometers pitch value to control a low-pass filter, like a very visual “knob” as I pitch the guitar’s neck up and down
  • bang notes: using the x and y accelerometer values, I can “push” the guitar in different directions to trigger notes to “play” the guitar without “playing it”

Last week, I finally customized the guitar and have started incorporating the wiimote control into my new song patches.
robotcowboy digitar outside
robotcowboy digitar outside, detailing custom controls
robotcowboy digitar innards
robotcowboy digitar innards, detailing the custom circuitry
The people at STEIM are awesome! I really needed to get away from work and start getting back into my project for the tour and they gave me a place to stay and a studio for 2 weeks. I may not have built what I originally intended, but was able to expand musically and technically. Now the real test comes as the 3-month, 50 date tour comes up in January!

One thought on “Dan Wilcox > robotcowboy song structure pd patches and wiimote experiments

  1. Pingback: STEIM Project Blog » Blog Archive » World Wide Wave