Filed under: Machinery
That’s “tri” as in three hues of wood, not the musical interval; my drums don’t play pitches, yet. The three woods on display here are African padauk (the reddish orange wood), mahogany, and a little bit of ebony that holds the sticks. I used a combination of mahogany and padauk before in my hi hat machine, and I wanted to preserve the materials and the style across all machines that play the drum set. That meant, besides wood selection, adhering to a modern, Scandinavian style. My woodworking is too amateurish for me to count the greats of the craft as influences, but I will say that I looked at pieces by James Krenov and George Nakashima before and during this project. Krenov’s “box-on-stilts” style is partly echoed in the number and placement of the padauk crosspieces and the open space between the legs and body of the machine. If I can create echoes of Clyde Stubblefield in the music it makes, then I’ll really have something.
If you’re in the Minneapolis area, you can catch the machine’s debut at Tarnish & Gold Gallery on the evening of March 19th. I don’t have the details of that performance yet, but I’ll post them as I receive them.
Yeah, I know. These are my baby photos. I promise no Honor Roll stickers will ever appear on the robots.
The frame of the hi-hat machine, which, although it’s difficult to see, really ties the room together, is made from mahogany and held together at the miter joints by dovetail splines of African Padauk. Padauk is one of my favorite woods. I had a few pieces left over from a love seat I built a couple summers ago, and I figured dove tail splines made a better use than chop sticks or fountain pens. I routed out large holes in the frame to allow sound to escape; reverberation in the wood enclosure can color the sound to creat a flat, bathroom stall kind of ring, which I think I’ve mitigated. The red piece of wood on top of the frame is also Padauk, which I cut at strange angles to add some modern flavor.
Unlike a regular hi-hat, the top cymbal in my machine is closed by default. Gravity alone is insufficient to squeeze the cymbals together for a clean “chk” sound, so I use a spring, which you can see in this bottom photo, to pull the top cymbal down. Lifting the top cymbal is accomplished by running a roller chain from the hi-hat’s vertical rod around a sprocket above the frame and then back back down below the frame to a driver sprocket. That driver sprocket is turned by a beast of stepper motor from Anaheim Automation. This motor is slightly bigger than a soda can, weighs about five pounds, and can generate a ridiculous amount of torque. By the way, Anaheim, why haven’t you gotten back to me about the endorsement deal? I’ve already got the racing jacket; don’t let that prime pectoral real estate go to Black & Decker!
Obviously, the machine is missing electronics and solenoids to hit the hi-hat. That’s next, and it’s the easier part of the project; figuring out how to lift the top cymbal was the tricky part, and that’s done. I’m aiming to get the machine to a functional state before I leave for PopTech in mid October; once it’s functional I need to tweak my code to handle the additional performance instructions, and once that’s done, I just need to figure out what I’m going to do with it.
Everything that moves breaks, and that’s as true of stepper motors as rotator cuffs. Last night, the stepper motor that drives the timing belt that shakes the cabasa twisted out its last ch-ch-ch-ch sound. When it receives the command to shake, it tries to turn but can’t summon the torque to move the beads of the cabasa. It just grunts softly and vibrates its frame. Maybe it will semi-retire to lighter duty as an egg timer.
The motor is a Shinano Kenshi that I bought on eBay for about $15, which I thought was a good deal when the motor worked. In retrospect, I got what I paid for, but I’m grateful that the motor failed when I have no gigs scheduled for a couple months and not, say, before my interview on NPR. When the I realized the motor was not coming back, I started searching for a replacement of the same make and model before I realized that this was a stupid idea. Why buy what just broke? As an alternative, try learning, I thought to myself.
Determined to reach base camp on the stepper motor learning-curve, I headed to the website of Anaheim Automation, where the motors are as tough as the sales reps are gruff (Hi Kelly! Thanks for your help this morning). Assuming I read the data sheet correctly, which I wouldn’t bet on, the Anaheim motor I picked up, the 23Y002S-LW 8, should more than handle the cabasa. If it can really generate 72 oz/in of torque at 4 RPS, I will be able to shake the cabasa at inhuman speeds. Check the datasheet for yourself.
In honor of the service of the Shinano Kenshi motor to Jazari, I’m sharing this Kutiman video, which uses eighth notes in the cabasa to ground an off-kilter drum break. Watch for it and the cabasa player wearing Nike athletic gear and a fez(!) at 0:36.
When I designed my springbok controller (for those of you new to my work, that’s a controller made from springbok horns not a controller of springbok) I planned to make it wireless. Why be tethered to a computer when you could be free to run around, stage dive, or order drinks while performing? It looked like the technology was available to support DIY wireless: Sparkfun offers Bluetooth modules that allow for the transmission of serial data, which is what the Arduino transmits, and there is plenty of software that allows for serial communication between applications and a laptop’s Bluetooth module (the rxtx Java API, the MAX serial object, etc.). I did get the controller to communicate with my application via Bluetooth with rxtx and the MAX serial object, but ultimately neither worked for musical performance because of unacceptable latency. Testing showed worst case latencies of up to 50 ms, which is an eternity in musical performance. Improvising with this controller was like pushing a shopping cart with a sticky wheel. I later learned that this latency is built into the Bluetooth SPP protocol, and that to get the lower latency achieved by the Wiimote, I would need to use the HID protocol, which in turn would require a different Bluetooth chip. It also means I wasted > $120 on two Bluesmirf modules. Hooray for learning!
So I turned to a commercial solution: the M-Audio Mid Air, which theoretically pipes MIDI data through the ether. I built a MIDI Out port into the controller and planned to send MIDI data from it to my Traveler interface. The first Mid Air that I tried burned out seconds after I turned it on–literally. I smelled melting electronics. The online retailer where I purchased the product, The Midi Store, was helpful in replacing it, but unfortunately the replacement, while it hasn’t burned out, simply doesn’t work. The transmitter and the base unit don’t connect. The device is MIDI’s answer to Samuel Beckett. Avoid it.
One thing I miss about New York is haggling. When I arrived in NYC as an 18-year-old freshperson, I followed the Midwestern negotiating protocol of nervous side-glances, conversational lulls, and indecision masquerading as refined fickleness. After being played for a fool in a fake ID scam and being ripped off by hard-charging, Italian orthodox Jews on the Lower East Side who played good cop/bad cop after locking me in their haberdashery, I wised up a little. Today I was shopping for a microphone and a pair of monitoring headphones, both of which I knew I would have to buy at Guitar Center. I used to dislike Guitar Center for its decibel levels and the charmless atmosphere, but I have to revise that opinion, or at least add to it. Before driving out to the ‘burbs, I called ahead and to try to haggle down the price of the headphones to match a lower one I found at an online retailer.
And Guitar Center agreed. Without protest. I saved 20%…just by asking for it. It’s almost enough to make me want to buy another van.
The bongo machine was the first automaton that I built, which perhaps makes it appropriate to sacrifice on the altar of technological progress. The picture at left shows the new version under construction, and you can see that three legs from the original have been cannibalized for the new machine. I hope they carry some residue of rhythmic wisdom with them.
The new machine has a quasi art deco look (perhaps hard to see at this stage and in this pic) and will allow me to adjust the vertical and horizontal position of the solenoids over the drum head, just as with the djembe machine. This is very important. If you’re building your own percussion automata, I can’t emphasis how useful flexible positioning of the beaters is. When you’re designing the machine, you don’t necessarily know what will make the best beater, how big it will be, or where to position it. If you give yourself the flexibility to change the position of the solenoid later, you can experiment with different beaters and positions over the drum. This is a lesson I learned the hard way with the bongo machine and incorporated into the djembe machine.
I mentioned in an earlier post that I think the optos that I’m using in my solenoid driver circuit are adulterating the PWM signal by acting as a low pass filter. The first indication that there was a problem occurred during testing, when I noticed that the voltage across the solenoid did not vary linearly with the PWM duty cycle. Instead, the voltage crept up slowly for low duty cycles and then shot up rapidly as I approached the mid duty cycle range. This is what one would expect if the PWM signal had its edges smoothed out by a low pass filter. (Of course, if I had a scope, I verify this theory). I managed the problem in software by using only a narrow range of duty cycles, but even then, the non-linear relationship between the voltage over the solenoid the PWM signal has caused a lot of annoyance.
[Update: thanks to peabody for correcting my unit conversion below, but now I'm just more confused]. Over the past few days, I’ve gotten two comments on the topic from people more expert than me; one supported me and one disagreed, saying that the switching time for optos is in the tens of nano-seconds and therefore shouldn’t matter. That may be true for some optos, but I looked up the datasheet for the 4N29 optos that I’ve used, and it looks like the switching time is on the order of 150 to 300 nanoseconds, which in the context of a 1000 hz PWM signal, might make a difference for lower duty cycles. A 1000 hz PWM signal has a period of 1 ms = 1,000,000 nanoseconds. Even at a 10% duty cycle, which has an on-time of 100,000 nanoseconds, smoothing out the first 300 nanoseconds shouldn’t make a difference.
My second question is, if I wanted to get rid of the optos, how would I redesign the circuit? I see no reason that I couldn’t eliminate the opto and connect the PWM chip, which pulses a connection to ground, to the base of a PNP Darlington. What I’d like to do for my next machine is use Darlington arrays, but Darlington arrays seem to come only in the NPN flavor, which means I’d have to invert the signal from the PWM chip from active low to active high, which requires more components. Suggestions?
When I played guitar in high school, conversations with other guitarists inevitably turned to gear: makes and models of guitars, amps, pedals, and so on, all the way to preferred pick thickness. Maybe these types of dialog are the musician’s conversational safety net; failing any meaningful social bond, guitarists can always weigh the merits of the Flying-V. At the time, these conversations annoyed me because I was more interested in music theory than esoteric fuzz boxes. I thought, What’s the point in effects if you don’t know what notes to play? Today I could see other sides of the argument, but I’m still suspicious of conflating interesting gear with interesting ideas.
That said, people are naturally curious and want to know how things work. Here I’ll present some of the details that I skipped over in my How It Works youtube video, which you will be able to view in the video page sometime around mid February. I’ll start at the beginning of the signal chain.
The WiiMotes transmit a Bluetooth signal that is received by my MacBook Pro. This signal contains raw information about the state of the Wii: which buttons are depressed, its orientation in space, and its acceleration in three axes. On my MacBook, I use a small, clever program called OSCulator to translate that data into OSC messages and make them available on a local port. In MAX from Cycling ’74, I parse OSC messages with a custom Java external. Once parsed, state information from the OSC messages is sent to other homebrew Java externals that use the state of the buttons and the orientation of the Wii to determine if a note should be played, when it should be played, and how loud. How that process works is much easier to demonstrate than describe, so I would encourage you to watch the video if you haven’t done so already. (more…)