A robotic string instrument that can be controlled with software or physical sensors.
robow is not designed to play the violin as a human would -- instead I am using the advantages that computational control affords to play an instrument in ways that humans cannot. This presents an opportunity to create a new kind of sound. What can a robot do with a bow that a human can't? What kinds of new sounds could it make and how would you write music for it? These are the kinds of questions that I will attempt to answer throughout the duration of this project.
I designed the instrument myself in Fusion 360 and the parts are either 3D printed in PETG or CNC milled from acrylic & wood.
The x-axis can be controlled to draw the bow across the strings; future iterations are planned to include additional motors and controls to apply pressure to the string, tilt the instrument and depress individual strings. I'm using an electric violin for the initial prototype, but robow could be used on any bowable string instrument.
All software was written in Max and I also developed some lightweight middleware (similar to Open Sound Control) to encode individual serial messages. I used an open source stepper motor control hardware from Tropical Labs connected to an Arduino microcontroller
The video below is a quick demo of robow playing from a Max patch that contains a pre-written composition. The notes can be altered and the composition re-written in real time while robow is playing.
robow can be played with stochastic compositions. Below I am using a "drunken walk" algorithm to determine the speed, direction and location of the bow.
robow can also be controlled in real-time with a digital or physical interface – in the video below, I am controlling the location of the bow over a wifi netowork using my smartphone. I can also use the IMU data to control the direction and acceleration.