An analog communication protocol for safely, consensually receiving strangers’ modular synthesizer control voltage signals without a subsequent burning sensation when you oscillate.
The is the condom to avoid modular STDs!Theskyis256
For several months, I’ve been working on this little baby project going under the working title S16 (see above). It’s designed to facilitate the creation of collaborative, experimental, modular electronic synthesis.
Making Music with Modules
Modular synthesizers, such as the one Nine Inch Nails uses, are all wildly different from one musician to the next. But they work on a single principle: the voltage variation, like the one that we send through a speaker to make sound, can also be used to control a parameter, such as pitch. In general, those signals are much lower frequency than the 20Hz-20kHz signals that we can hear. So while a sine wave at 440Hz sounds like a soft A note, a sine wave at 4.4Hz that controls pitch could play up and down the entire audible range (or any segment of it) 4.4 times a second.
Think of the 120-180 BPM of various forms of Techno. On an analog synthesizer, those beats come from a sequencer that keeps time, clicking from two to three times a second. The sequencer doesn’t make sound, though. It makes variations in voltage. That variation in voltage — called a control voltage — is then sent 120 times a second to another machine down a cable, like the ones you can see behind Trent on the left, above. Maybe that second module is an amplifier connected to a speaker that makes a sound, or maybe it somehow alters the signal itself, as with a guitar pedal. Or maybe it alters another signal. Maybe it splits. There are vast expanses to explore! It’s really like exploring outer space, but we’re exploring human perception of sound and time.
I’ve been dreaming over the last year of sitting down with several other electronic musicians, each with their own, unique synthesizers and plugging them into each other.
But there’s a catch. There are several standards for just how much voltage to send down that wire. And that doesn’t count every independent musician’s design decisions, made for whatever their intentions were, given whatever their limitations were.
If I plug my gear into your instrument and I send it more voltage than your instrument was designed to accept, I could find interesting new sounds but, more likely, I literally set fire to your carefully designed and constructed unique piece of art. Alternately, I could plug my instrument into yours, only to discover that your gear draws more current than mine can supply. This time my instrument catches fire.
The best case scenario is that it works and we don’t notice because things randomly happened to be OK by accident, perhaps doing damage more slowly than we noticed. The worst case scenario is that both instruments catch fire while we’re onstage and all of our friends are there to support our weird noise making fascination. Then one of us tries to stamp on the fire, only to find our foot stuck in this unique piece of art while the other foot is stuck in a watermelon and we all die of slapstick-related injuries.
So I started to generate a standard for this specific purpose. Now that I’ve been messing with it for a few months, I have a pretty good understanding of the requirements. But this is intended to be a community project, so please comment and we can move toward improvising onstage!
- Collaboration is consensual. My inputs are built to my specification. Your outputs are built to your specification. That is, my gear takes optical input through a LEGO connection. That’s what I’m asking for. Your output is guaranteed optical, terminating in a LEGO connection. That’s what you offer. Culturally, you hand me the pulsing end of your cable and ask me to put it where I want. You might want to put it into a particular socket, and maybe I’m into it, but maybe I want to put it into a different socket. Worst that happens is we’re disappointed with the results.
- No one’s gear can damage anyone else’s gear. I’m using optical buffering because no one is going to generate a light bright enough to damage anyone else’s gear, and it keeps everyone ground completely isolated. If my gear blows up, it’s because of my mistake (or, yes, Mssrs. Pauline and Tinguely, my deliberate artistic decision). Your gear is extremely unlikely to blow up, but if it does, a) the cable will probably go first (no big deal), and anyway, it’s a mistake you made along the way that I can’t have had responsibility for.
- Graceful degradation of signal. If I make a cable, it works well, or offers weak signal, or does nothing. The cables, themselves, might produce interesting distortion, so you might use a particular cable for its interesting effect.
- Takes backward-compatible CV. No one’s gear needs to be modified to send a signal, only to receive it. See: principle 1. Different LEDs and resistors might be better for different CV schemes. That’s up to the sender to build cables that work best for them.
Why LEGO? The primary reason is that it’s super-cheap precision. We don’t have to manufacture anything. LEGO already made a million of the pieces we’ll need with extraordinary precision. And, given the nature of DIY modular synthesis, there’s a really good chance that you’ve already got pieces around. If not, you can get them cheap.
Want to see?
Here I am, building an S16 cable. It’s built for 5v control signal, but the white LED cuts out 3.3v of that range. The red one cuts out only 1.8v, which makes it a better candidate, as long as the receiver is responsive to red light.
Questions to Resolve
- Forward Voltage. LED forward voltage means losing the bottom range of your control signal. If you’re sending out a sawtooth wave from 0v to 5v, there will be no signal until it reaches the forward voltage of the LED. Then it will climb normally until it reaches the top, at a mere 1.7v. Certain combinations, like blue or white LEDs, with low-voltage systems like 3.3v simply can’t work unless the signal is forward-biased on the sending end. It is possible that the signal produced by dropping out the bottom end is desirable. It’s certainly harmless. But designing cables for a particular voltage, then color coding them looks to me to be the best solution.
- Optimizing the sender. If you want to use S16 really well, it looks like there’s a pretty simple op-amp circuit that you can build that will overcome forward voltages up to the signal voltage and down to zero, meaning that you can still use it for regular voltage control. However, I haven’t gotten it to work. The circuit should eliminate the dropout at the bottom of the range, though. Once the op-amp circuit works, it should be easy enough to build a module that cleans up the signal. It also might make sense to build it as a voltage adder circuit, adding the forward voltage to the signal.
- Nonlinear signal. LEDs respond nonlinearly to voltage, which means that, even after the forward voltage is exceeded, the first volt makes less change in brightness than the second volt does. This might be overcome by using photodiodes instead of LDRs because they have the inverse nonlinearity, but I have yet to demonstrate that. Simply using an LED as a sensor might also work well. I’ve done some preliminary experiments that show both LDRs and photodiodes to work pretty well, though! This is also a matter of design choice on the part of the receiver, and the result will shape the incoming signal, but not cause any direct threat to the instrument or musicians’ safety. Just their artistic reputation. 3mm photodiodes fit into the small holes in LEGO bricks quite nicely, if you’re wondering!
- Performance-time dis/connection. Is a single stud the best way to do this? Can they be too-easily disconnected by accident? Is it better to use Technic pins with 3mm LEDs? I suspect they will also wear out more slowly.
- Mono/Bipolarity. This cable only gives monopolar signal the way I’ve built it. But you could split it so that the positive component of a bipolar signal (such as the 0:+2.5v of a Eurorack-standard signal) goes through one side and negative component ( 0:-2.5v) goes through another cable, wired backward. This doubles the amount of signal lost to forward voltage, though. Sending that signal to a box that properly forward biases the LEDs could solve that issue. Using a low forward voltage LED like a yellow or red will also increase the response around zero. Or, alternately, that box could DC offset the signal until it’s entirely positive.
I’m starting a Github project to work out best practices here! I’d love your help! Please comment below, as well!