I'm an artist that uses technology as my primary medium for expression. As a physical interaction designer, I think musical instruments are an ideal interface to explore expressive gestures -- both kinetic and tactile -- and how they correlate to sounds and inform music composition.
Although I am not a violinist, I sometimes work with composers that are searching for new sounds and innovative ways to create them. I am using computer software and alternative interfaces to control a traditional (or modern) stringed instrument in ways that a human cannot.
The player uses software, their smartphone, or another wireless sensor to control the bow’s rate and length of travel across the strings. On the instrument, this is driven by a motor with an old-timey rotary-to-linear gear driver. The bow’s pressure will be controlled by a stepper motor attached to a lead screw along the z-axis. When paired with a smartphone, the IMU senses tilting and will control the angle of the bow across the strings by rotating the violin with a second stepper motor. Additional motors will move the violin along the "z" axis and depress individual strings.
Visual Design & Mechanics
The design of the instrument is influenced by 19th century automata and by machines such as the mechanical turk, an “automaton” secretly controlled by a human. A rotary-to-linear driver is constructed from plywood gears and is a replica of Movement 329 of 507 Mechanical Movements. The device is designed to accommodate any bowable stringed instrument.
Open Sound Control is a format for streaming real-time audio control messages. It’s a binary encoding that uses URL-style naming schemes and timestamps high resolution data. Data is transferred over UDP because musical instruments require real-time actuation and feedback. This also allows multiple devices to control the instrument, or one device to control multiple instruments.
Max is a visual and dataflow programming language and I am using it in this project to either program the movements or tap into the data stream before it reaches the hardware so that I can translate sensor data into mapped values appropriate to motors. Max is a full programming language designed for controlling audio and allows me to rapidly prototype ideas and features and implement them live without compiling.
The gears are milled in plywood and the cranks and mounts are 3D printed in PLA. I'm utilizing hardware that is commonly used in open source CNC equipment.