THE ROBOHORN [05.13.2014]
full set : Muse:forward . May 2014 . Portland, OR
excerpt : Caldera Arts . Jan 2013 . Sisters, OR
excerpt : Dark Arts Festival . Feb 2013 . Astoria OR
soundtrack : 3 Sisters: Lost Myth . Lani Asuncion . 2013
Read : Muse:forward
THE ROBOHORN is a hybrid electro-acoustic instrument. It is a 1965 King marching mellophone, with a lot of buttons, knobs, and sensors taped and glued to it. It is fully mobile, self-powered, and intended for gallery spaces, street performances, and other events with social-interactive potential. The music can leave the stage and travel through the crowd - while still fully amplified.
I developed the Robohorn during a residency at Caldera Arts Center. It began as an attempt to recreate my studio piece Air Objects, live. I was told it sounds "like if Eno had produced Miles Davis' Sketches of Spain". OK...
The Robohorn is a step towards a hands-free electronic music. Even the best modern touchscreens are not expressive as musical interfaces. They can impede spontaneous expression and anchor the player -and usually the sound- to two dimensions. PC's and mobiles now make it possible to realize every dream in electronic music - we should make more physical interfaces to bring the music back into the social, tactile, surround-sound worlds.
goal is that this system is customizable and expandable for
Please get in touch with John Berendzen about playing, collaborating, co-producing, or tech talk:
John.Ber [at] endzen [dot] c o m
click for full pics
Caldera Arts Center, Jan 2013
Muse:forward, May 2014
click for full pics
click for full pic
I made this page in hopes of others getting inspired to create interactive solutions for their own interests. What's here should get you started in making a Robohorn or a new instrument of your own - or a completely new use for the technology.
Doing this to an instrument gets rid of wires and gear, as well as the typing and clicking damn OK all the time. It can let you relax and interact with the actual sound and feeling of the performance.
I'm happy to answer questions if I have time and especially if you're doing some labwork as well.
The Robohorn has buttons, knobs, and a four-axis tilt sensor (activated by tipping the horn up, down, left and right) which all plug into the arduino. The arduino board is strapped to the horn and polls all the controls, and generates ASCII data to represent it.
The arduino transmit (TX) line is wired to a bluetooth module.
The bluetooth is paired with a PC. It sends the ASCII to the PC over bluetooth Serial Port Protocol to the PC's serial (COM) port via SPP.
A UHF wireless mic pack velcroed to the horn sends audio to the receiver, which goes into the pc line in.
Thus there are two separate wireless systems
a) the mic in the horn, being transmitted via an AKG wireless pack, and plugging straight into the PC; and
b) the arduino board transmitting button-pushes over bluetooth to the same PC.
The PC is running Puredata. Puredata is the program that receives both the audio stream (UHF -> audio in) and the control data (via bluetooth). Puredata combines the audio and the control inputs. The puredata patch routes and processes the audio according to the controls. The PD patch includes: an 8-channel delay ("looper"), effects (ping-pong delay and 3-voice pitchshift), and an oscillator bank, as well as capability for control of external MIDI device.
The system is optimized, boots into show mode and can run entirely battery-powered for a few hrs.
Total cost 125 w/ shipping
tilt sensor 15
misc components 10
TO DO IT
Play the horn reasonably well
Junk mic element puttied into bell of horn (don't reccommend piezo unless you want pure sine with no timbre)
wired into a
UHF wireless mic
transmits to a
USB audio interface (only needed cause my laptop audio broke)
an old IBM Thinkpad T42 w/ Win XP sp3
back out the
a USB audio interface
amps and speakers
If I had no wireless mic, I might get one of those cheap kits to "build your own FM wireless mic" that you can use to broadcast over a regular radio tuner, and a thrift-store tuner with a tape out so you can capture/amplify it.
It's not worth trying to send audio over arduino (not at all enough ram). It might be possible with a bluetooth or Avnera headset, importing that into pd.
Momentary pushbuttons, potentiometers, and tilt sensor
Arduino uno board with 4xAAA battery pack
outputs serial data into
a $10 SPP bluetooth module
a $5 usb blootooth dongle configured as a virtual COM (serial) port (this was reasonably simple in XP (ie, took only _half_ a day)).
puredata using the comport object, then routed as control messages to the signal flow and dsp functions of the pd software patch
The serial data from arduino is in the form of 3 bytes:
ID number; Value (0-127); and "!" as a terminator
eg. 16 126 33 ("Knob #2 went to volume 126. over.").
The "!" was silly of me because when 33 appeared in the Value byte, it read it as ("!"). Made a kludgy workaround instead of figuring out how to do it right.
The tilt sensor outputs its own weird truthtable, and had to be parsed further before sending. Sent the result (1-4) as byte ID no 2. This is essentially a much cheaper alternative to an arduino accelerometer module, and with much simpler data to parse. Is rude on-off, however, with no subtlety of expression to the tilt.
Puredata sends midi program change messages through the TASCAM US-122L into Alesis Quadraverb GT. Robohorn 1.1 allows up to 7 midi programs.
PD creates MIDI messages in response to messages from the bluetooth serial input using the comport object.
Arduino Pin - to - PureData patch function list
Pin Hardware byte ID Puredata function
D0 RX (not used)
D1 TX (to RX of btooth module) comport object
D2 Tilt Sensor A 2
D3 Button 3 Delay ch 1 control
D4 Button 4 Delay ch 2
D5 Tilt Sensor B (sent with "pin 2")
D6 Button 6 Delay ch 3
D7 Button 7 Delay ch 4
D8 Button 8 Delay ch 5
D9 Button 9 Delay ch 6
D10 Button 10 Delay ch 7
(and osc control)
D11 Button 11 Delay ch 8
(and osc control)
D12 Button 12 Audio capture
D13 Button 13 Delay buffer flush
A0 Not used (had some trouble with)
A1 10k Pot 15 Oscillator/Delay mix
A3 10k Pot 16 Mic 1/Mic 2* Mix
A4-5 Not used
[ * Mic 2 is any mic (wired, etc) run into pd as an input. Used to feed back room sound into speaker mix, or any number of fun things. ]
Well, that was the same thing three times. If there's anything I didn't explain, it's probably in the above links to other project pages, or is something you can find via google, trial, and/or error.
5.13.14 need to migrate the whole pc, effects, and audio receiver chain through a jailbroken ipod touch 3. Should be able to run pd, and hijack the bluetooth to serve as the virtual COM port, and (non-ideal quality) audio. Replace tilt sensor with accelerometer to offer more refined physical positioning. Actually bluetooth is starting to become a let-down with range and reliability. Need to replace with xbee wireless.
01.13 Future rev's will include (for puredata) a vocoder, timestretcher, more oscillator interaction, a beatbox, and a migration to linux (Ubuntu Studio); (for arduino) a gyroscope and/or accelerometer; also putting all components onto one arduino shield and mux-ing the button inputs (currently can't stack cause most pins are being used); a better mic for the horn bell.