|
The ElectroHorn
Contact: John.Ber [at] endzen [dot] c o m
John Berendzen's other music --> HERE
The
ElectroHorn is a hybrid electro-acoustic instrument devised and constructed by John Berendzen in 2011. It is a 1965 King
marching
mellophone, with a lot of
buttons, knobs, and sensors attached to it. The technology allows real-time looping, processing and layering of sound, turning a solo performer into a full orchestra of horns. 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 ElectroHorn during a residency at Caldera
Arts Center, as an attempt to recreate my studio piece Air
Objects, live.
According to one enthusiastic audience member, it sounds "like if
Eno had produced Miles Davis' Sketches of Spain".
See below for more technical details.
Ultimately this system is customizable and expandable for
Caldera
Arts Center, Jan 2013
Muse:forward,
May 2014
Muse:forward,
May 2014
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 ElectroHorn 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 ElectroHorn is a wireless audio-, bluetooth-, arduino- and puredata-enabled 1965 King marching mellophone (alto single horn in F). It cost $125 to make.
The ElectroHorn 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.
Budget
Total cost 125 w/ shipping
horn 50 arduino 30 tilt sensor 15 misc components 10
HOW
TO DO IT
Audio chain
Play the horn reasonably well into a 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 UHF receiver cabled into USB audio interface (only needed cause my laptop audio broke) plugged into an old IBM Thinkpad T42 w/ Win XP sp3 into the PureData programming environment back out the a USB audio interface to 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.
Control chain
Momentary pushbuttons, potentiometers, and tilt sensor wired into Arduino uno board with 4xAAA battery pack outputs serial data into a $10 SPP bluetooth module paired with a $5 usb blootooth dongle configured as a virtual COM (serial) port (this was reasonably simple in XP (ie, took only _half_ a day)). ported into 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.
MIDI Setup
Puredata sends midi program change messages through the TASCAM US-122L into Alesis Quadraverb GT. ElectroHorn 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.
Eventually
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.
| ||
|
|
|
|