Jordan Kolasinski, 5/14/04

The Carstrument

For this project, we wanted to create an instrument with the familiar interface of car that using a steering wheel, pedals, a gearbox, and assorted controllers to manipulate and create music.

We first created the mechanical aspects of our device–the steering column, gearbox, and pedals. At the same time, we also started the Max patch and the reason file. When the electronic gadgets came in the mail, we installed them into our instrument and made sure that they worked. We then integrated these sensors into the max patch and got them to control the desired parameters in Reason.

We went into this project with very reasonable goals. We knew that the mechanical end of the project may be a point of difficulty, but the electronics, Max, and Reason were not too far over our heads. I don’t recall having to change many of our goals in the process, because the general idea of what we were going after was very reasonable.

Although we didn’t drastically change the concept of our design, we definitely came up against many challenges along the way. We wanted a real steering wheel to use in our project, and had great difficulty coming across one we could use. Buying one would be too expensive, and we did not have any luck at a thrift store or finding a junkyard. Brian and I went to Home Depot and even contemplated ripping off a toy steering wheel from one of their kids shopping carts. But our consciences held us back–as did the strong nuts which fastened the steering wheels on. By a twist of fate, I happened to walk past a Fischer Price toy car that was being thrown out, and happily tore the steering wheel off.

Actually fastening this to our project proved another challenge. We ended up using a combination of metal and rubber washers, some superglue, sotter, and creativity to make a functional and sturdy steering wheel.

We had some problems with the electronics. The slide pod that we used for the gearbox once gave 0-127 values, but at some point just started giving 118-127 values. And recently its only giving us 123-127. I’m not sure why it did this, but I worked around it by altering my ranges in Max. However, it does not correspond to the ranges that I created in the gearbox itself (P-N-D-2-R). The pot that is connected to the steering wheel also has a tendency to smoke and scare us. But surprisingly, it still gives us accurate readings so we don’t leave it plugged in for too long and try to ignore the toxic fumes.

So as previously mentioned, the controller has 3 separate parts: the steering column, the gearbox, and a pedal. On the steering column is a steering wheel mounted on plexiglass, and connected to a potentiometer; turning the wheel generates data values. On both sides of the wheel are switches connected to a dowel, to mimic the ergonomics of a blinker and windshield wiper. On the left, the dowel is connected to a hinge and pushes down on a springed button. On the right, the dowel is connected to a small toggle switch.

The pedal is simply two pieces of particleboard connected by a hinge, with a spring in between the open portion. Under the spring is the pressure sensor, which is pressed on by the spring when the pedal is depressed.

The gearbox is a box made of particleboard with a plexiglass top. A dowel is used as the actual shifting unit, and it is connected to a slide potentiometer to create data values.

The Max patch has a different section for each controller. We’ll start from the steering column:.

The button to the left of the steering wheel toggles through 4 different controller values which are then manipulated by the steering wheel’s output value. Each time the left button is clicked, it sends the next controller number into the ctlout that the steering wheel value sends into. Joey actually helped with this part of the Max patch, but it uses the sel command to send the values out loops the function after 4 clicks.

The steering wheel is quite simple–the value of the potentiometer goes directly into a ctlout, and the controller number is conrolled by the left switch.

The right switch uses a sel function to send a value of 100 when on and 0 when off to its ctlout. This determines the Dry/Wet balance of the delay, which I’ll discuss in the next section.

The pedal’s value determines the feedbackvalue of the delay in Reason.

The gearbox was the most difficult part of the max patch. The slide pot only sends a range of roughly 118-127, and I set certain ranges to control the solos of different tracks within reason. This part was very indebted to the sel function–when a value came in (say, 122), it would ctlout a 127 value to the appropriate channel to solo it. When I change the value (or gear), I wanted to make sure that I would not unnecessarily leave any tracks on. So the great part about sel is that is can send a value when a selected value is not inputted. For example, if the piano is soloed by a 122 value of the pot and not 123, a value of 0 will be sent to the track to unsolo the piano when I change the gearshifter.

In Reason, there is a Redrum instrument, a NN19 playing a piano patch, a Malstrom rhythmic patch, and a subtractor bassline. The drumbeat just uses some samples that came in reason, and also some car SFX to give the automible vibe. The piano patch is manipulated by the steering wheel and the left button. The parameters that are changed are the release time, LFO amount, semitone value, and filter freq. The bassline was made in the matrix and is super-funky. And all of these tracks are "conducted" by the gearshift which acts as a mixer through the mixer unit in Reason.

Knowing everything I know now, I would definitely make sure we had properly functioning pots, as the gearshift would have been much cooler if the pot worked as planned. I also wouldn’t have bought particleboard, because it is quite flimsy. Other than that, I am very proud of our project and wish I could use it live with my band somehow! •

see Brian Woytowich's report