MUSIC
7. Connect signal to the Arduino and mic preamp.
The output of the powering circuit in Figure I
(previous page) is both your input signal to your
preamp (usable vocal audio) and the analog input
to your Arduino ADC pin(s).
NOTE: Since the Arduino Duemilanove has
only 6 ADC inputs, only the first 6 mic signals
are used for MIDI triggering, but all 8 are live
mic signals. An upgrade to the Arduino Mega
or some additional circuitry would allow all
8 channels to trigger.
Software
Three pieces of software are required to make
the Headgear function: Arduino IDE, Serial-MIDI
Converter, and Ableton Live (or the music
sequencer of your choice).
» Arduino IDE The Arduino IDE (Integrated
Development Environment) software (
arduino.cc/
en/Main/Software) is a very user-friendly, C-like
programming environment.
You need only a small amount of programming to
read the ADC pins of the Arduino and then output
the MIDI commands to trigger and control sounds;
the code can be downloaded at
tristanshone.com/
soundmachines/headgear.
» Serial-MIDI Converter This software from
Spikenzie Labs allows you to convert serial commands coming from the Arduino via USB into MIDI
data that’s readable by music sequencing software
without the need for a MIDI-to-USB adapter.
It’s very helpful to be able to both program and
power your Arduino, as well as read MIDI, with a USB
cable — no adapters or power cables. Download
and follow the detailed instructions for setup at
makezine.com/go/serialmidi. This software must
run in the background while Ableton is open in order
for Ableton to recognize the MIDI input.
» Ableton Live Within Ableton Live’s preferences,
you need to select the device; the Headgear device
will show up as IAC Driver, which is set up in the
folder Utilities/Mac Audio MIDI Setup.
Once you select it, you can begin to map the
Headgear MIDI to any parameters in Ableton,
like drums or samples. You might need to play
around with the actual MIDI command you have
122 Make: Volume
22
programmed on the Arduino (e.g., MIDI_TX( 149, 64,0))
so as to not interfere with other controllers. In addition to triggering, each of the 8 channels of vocal
audio is fed into 8 different audio channels with
different effects. Have fun!
Headgear as Harmonica
To use the Headgear as a “harmonica”-style drum
machine, I use either the drum machine or the
Impulse drum machine in Ableton. Both of these
Ableton instruments are essentially samplers where
you drop a sound/sample into a slot that’s actually
a MIDI note.
You’ll need to figure out which MIDI notes your
samples are on in the Ableton drum machine so
that you can output the correct 6 MIDI commands
from the Arduino (e.g., middle C is
60, so choose
60–65) to trigger 6 consecutive sounds. Once you
have each of these 6 microphones triggering from
your voice, you’ll need to make some adjustments
based upon how you’ll use it.
If you’re controlling drum sounds, to prevent
multiple triggers from one voice impulse, utilize the
millis() command (a real-time timer) in the Arduino
code to make sure not to trigger twice within a
certain time frame (you can see how I’ve done this
in my code).
With drum or rhythmic samples, you can play
around with the mic order so that your head movement is optimized; for example, a configuration of
upper left (kick drum), upper left inside (high hat),
upper right inside (snare) creates a simple setup for
basic beat making. For a more robotic movement,
you can set up 4 samples in a row so that your head
moves like a typewriter (my preferred setup).
If you intend to utilize both audio and triggering
from a mic simultaneously (making a sound that
might have an effect applied while triggering), you’ll
need to play around with the millis() timer again in
the C code to control how many times you trigger.
In this case you might want to also adjust your
analog input threshold.
Tristan Shone is a mechanical engineer, sculptor, musician
(
authorandpunisher.com), and creator of the Drone and
Dub Machines sound controllers. Read an interview with
him on page 30.