Wearable CV Gate
The Scalar Glove is the first piece of hardware I ever started working on. I love playing the guitar, and the scalar glove was intended to complement that: I could play the guitar and accompany myself with electronic backing tracks. With that in mind, the goal was to make something that would react to the motions I was already taking while playing.
The Scalar Glove is simple: four fabric pressure sensors, constructed according to this tutorial: http://www.instructables.com/id/Flexible-Fabric-Pressure-Sensor/
Each of these pressure sensors are mounted to the backs of the fingers on my left hand, using a skeleton made of moldable plastic. The Arduino Uno reads the analog signal from these sensors and converts it to a digital signal, on or off. Then it feeds each output into a simple resistor/capacitor digital/analog converter (tutorial here http://www.instructables.com/id/Analog-Output-Convert-PWM-to-Voltage/). This signal produces a CV signal that my Eurorack modular synthesizer can read.
I’m not an electrical engineer by any means, so finding the proper resistor/capacitor values was a matter of trial and error. After trying a lot of things, I settled on a 10k ohm resistor and 0.02uf capacitor. This still isn’t perfect — the signal is a little wobbly — but that could be for a few reasons and I don’t really have the tools or knowledge to properly debug it.
This is scalar glove 2.5 because there have been two revisions. Version one used entirely different hardware, and version two used the current skeleton, but both output a MIDI signal instead of a plain CV signal. A few things about that decision:
MIDI is essentially a digital musical notation language. You can decide the pitch and duration of notes (among other parameters), and this can be encoded at a binary level into MIDI commands. There are a lot of tutorials that explain how it works — here’s one from the official website that has examples of the binary-level commands (https://www.midi.org/specifications/item/table-1-summary-of-midi-message). Once you have that command encoded, your computer or hardware synthesizer interprets that and produces the sound. MIDI is very versatile, and if you’re producing purely digital music, I recommend sticking to it.
I’m not making purely digital music. My main “instrument” for synthesis is a Eurorack
modular synthesizer, and I wanted to create interfaces that I could use with that, ideally as directly as possible. Scalar glove v2 created a MIDI output and I was using a MIDI-to-gate/trigger module to control my modular; however, this involved a long chain of complicated translation, and any failure along the way would have killed the output. So I decided to rework it to avoid MIDI entirely.
Eurorack modules primarily speak a “language” called CV, or Control Voltage. This is about as simple as a command could possibly be; the higher level of voltage, the stronger the effect. So if you have a module that accepts 1v/oct frequency modulation, it means for every volt it receives, the frequency of the synthesizer’s “voice” raises by an octave.
So that I didn’t have to worry about calibration, I only wanted the scalar glove to output a binary signal — on or off for each finger. CV triggers and gates are basically just a threshold: if the voltage surpasses a particular level, it’s “on”, and if it doesn’t it’s off. This was very simple to code. I’ve included the entire sketch here, but in a nutshell (which is all it needs, really), it reads a level from the sensor on each finger and outputs a digital “on” or “off” signal to a designated pin. Then the DACs convert this into an analog signal that can be used as CV.
This isn’t perfect; it only works with about 90% of my modules. At the moment I’m unsure what the problem is. I’m a software person, not an electrical engineer, so a lot of my process is fumbling around blindly until something starts to work, then I figure out why and how later (if ever). If you have suggestions on how to improve this, I’d love to hear from you at firstname.lastname@example.org.
Thanks for reading,