Video games are predominantly constructed for the purpose of "play." Similarly, many people's approach to music, and creation in general, often involves a significant amount of "play." The line between these two entities (video games and electronic musical instruments) has clearly already begun to blur as in the cases of "Guitar Hero," and "Rock Band." However, these games are not focused on creativity and instead focus on the reproduction of pre-composed music. In an attempt to hi-light an aspect of the potential between these two worlds, as they relate to the concept of playfulness, i have reappropriated an IBM 1981 Tandy Computer joystick to be used as a musical interface. Although it can be used with hands like a traditional joystick the main intent of the pduinopedal is that it be controlled by feet, which would allow the user to musically multitask. One example would be a person playing an electric guitar and controlling an effect or a separate sound source with the foot controlled joystick of the pduinopedal: playing with feet!
I assembled a Freeduino Kit, which includes analog and digital input/output ports, and connected my protoboard to it. The protoboard is directly soldered to four potentiometers and a push button with an LED inside. All the potentiometers regulate between zero and five Volts and send this info 44,100 times per second, which the program Pure Data (PD) interprets as a series of numbers between zero and one. The freeduino sends information through USB only one port at a time, but it runs though all of the ports so fast that it seemingly sends all the information simultaneously. Two potentiometers are used to give X/Y coordinates (one for X one for Y) depending on the position of the joy stick. Pure Data is able to receive this Voltage regulation (movement of the joystick and knobs) thanks to Pduino, which is a free set of code and firmware written for Freeduino's ATMEGA 328 microchip; the chip functions as a tiny computer. Essentially, the physical movements of the interface are picked up via analog input ports on the Freeduino and converted into numbers which are in turn used to change specific variables of effects and/or modules built in PD.
The first PD patch that has been modified to work with the pduinopedal is my take on the ZVEX Ring Modulator Step Sequencer guitar stomp box (ZVEX Ringtone). A few additions i made were four more steps (twelve steps total), individual wave shape options per ring mod step, a feed back control, and of course an X/Y controllable graph (X controlling real-time ring mod frequency regardless of step, Y controlling a test tone frequency which is used when no instrument is lined in). A third potentiometer controls the speed of the sequencer and the last one regulates the input gain which modifies feedback when input is set to a microphone near the output speaker.
The second patch i used the pduinopedal to control was a sampler patch which holds 1 and 2 second samples. I used the X axis of the joystick to control the starting point of the sample and the Y axis to control the ending point. This is the patch that is recorded in the video posted above.
Under the hood
Protoboard and Freeduino
Bottom of pduinopedal: X and Y motion each separately have an option of switching to free flow (no recoil back to center).
Ring Modulator Sequencer (PD patch)
This is where the joystick came from. 1981 IBM PCjr.
Freeduino Assembly Instructions:
Pure Data (PD) & Pd Extended - shareware:
Pduino download page: