I kind of got all enthused today and started designing a modular synthesizer.
Note to future self: I apologize, I knew it was going to be a pain in the ass, but it’ll be awesome. Honest!
I’ve wanted a modular since I was in the single-digits-of-age. Specifically, I wanted a Moog modular. A System 55. A really really big System 55. I just wanted to get that out there right away, so you all realize that the crazy started really young.
In more recent times, two albums ago realistically, I started using softsynths in a big way. I have a fairly chunky investment in Native Instruments and East West plugins as well as licenses for Logic, Ableton Live and suchforth. Don’t get me wrong — softsynths are awesome and are utterly unapproachable for sheer awesomeness-of-noise-per-buck. The only problem is that they drive me batshit freaking nuts because of the delay and latency associated with doing digital audio with an operating system that really wasn’t designed for it.
I’m not a classically trained player, but I’m probably describable as traditionally trained, in the sense that I put in the years of no friends and 8 hours a day and the bleeding fingers. I can, and actually usually do, play my instruments real-time and have the skills to pull that off. This also comes with an annoying tendency to be able to hear when timing or pitch is off when any normal sane human would be totally fine with it and already on the way to the pub, thank you very much. Pitch isn’t so much of an issue with digital gear, but AARGH FREAKING BASTARD timing kind-of is. I can hear when something is a few milliseconds off — not only does it make things sound wrong, but it also throws off my playing. If you can tell the difference between a really good wired gaming mouse and the nasty Bluetooth mouse that came with your computer, it’s like that, but much worse.
I’m wanting to start on another album, but I really want to fix this before I get into it because it’s just way too frustrating otherwise. I’d also like to find a solution for gigs that gives me rock solid timing — I’ve done some live performances with softsynths, but it is quite challenging to pull off playing anything fast when you can’t quite hear exactly what you’re playing when you’re playing it.
Old skool analog has no timing problems whatsoever. Response time is basically in the order of single audio cycles, not the time it takes to queue up a couple of buffers and hoof them out over USB to an audio interface. Faster than I can hear, which is fast enough anyway. The undisputed Kings and Queens of analog are of course modular synthesizers. Happily, these days they are merely really expensive and complicated rather than the price of a Ferrari and complicated. I’m not so great about the really expensive. I’m OK with the complicated.
If you want to lose the rest of your day, go to Analog Haven and have a play with their modulargrid tool. This thing lets you spec out an arbitrarily enormous modular in one of several rack formats with modules from about 30 or so manufacturers. I had a go with it and came up with a truly epic modular configuration that would have cost >$10k. Basically I set out to spec a synth that could do the kind of things I typically do real-time with soft synths, except (nearly) all analog and fully real time. I went for the Doepfer A-100 Eurorack format because of the large variety of third-party modules available off-the-shelf and relatively low cost relative to some of the other formats. That and the smaller module size means I could cram more awesome into the lack of space that I haven’t quite got available. The picture above (you may have to go over to the original post on mageofmachines.com in order to see all the images if you don’t see them) is not actually real — I made it with modulargrid. It’s basically three synthesizers in one, maybe four, kind-of. There are enough VCOs, Moog clone ladder filters, VCAs, VCOs and ADSRs to manage a 4 voice polyphonic pad, simultaneously with a 2 oscillator bass monosynth, a completely separate 2 voice Karplus-Strong plucked string synth, a 4 operator monophonic FM synth, digital delay, digital reverb and 16 channel CV, 16 channel gate and 8 channel MIDI interface that will let the whole lot be run from Ableton Live. That’s a LOT of stuff in about the same physical space as a midrange Moog modular, for about a fifth the price. That said, a fifth of the price of a really nice car is still more than I want to pay, and I kind of have the bug to actually design some of this stuff.
There are a few things that give me the heebie jeebies. I’m not so keen on doing my own scratch-built VCOs because getting them dialed in so their tuning tracks accurately without drifting with temperature is the kind of problem I could solve, but I’d kind of rather it was someone else’s problem, if you see what I mean.
So basically to sum up the stuff in the rack, there are a lot of little 4 into 1 audio mixers. These things are pretty much ubiquitous because there are so many cases where several signals need to be combined before moving on to the next stage. I picked out the modules so I hopefully wouldn’t run out of mixing capability if I tried to patch just about everything all at once. I think I counted 7 of those. I threw in a 4×4 matrix mixer too because it looked like a nice thing to have. Mixers aren’t too difficult to design — not necessarily trivial because there is still a fair bit you have to get right, but it seemed like a tractable place to start.
This morning I had at LTSpice and came up with a basic circuit for a module that loosely corresponds to a Doepfer A138a Linear Mixer. Since I seem to need a boatload of these things, it’s low-hanging fruit that’s worth going after, I think.
This is what I knocked up fairly quickly. A word of warning — I’ve not built one yet, so if you pick up on this circuit and find it doesn’t work, then sorry, but not my fault. It’s a bit messy, but basically it models a 4 input mixer with a pot for each channel and a master gain pot. There is some extra voodoo in there for ESD protection on the inputs and outputs and for bandlimiting — it should have a -3db point at about 75kHz and optionally also at about 5Hz. There’s a not-drawn bypass switch that bridges out the cap that links the summing bus to the final gain stage so you can choose whether to run this DC or AC coupled. The idea is to have an essentially flat response from 20Hz to 20kHz, but not have too much response outside that band because modulars have lots of wire everywhere whose main object in life is to receive the transmissions of passing taxi drivers. I also separately came up with a really simple analog 8-0-8 LDO reg and dual pi filter arrangement that should squash any hum on the power well below the noise floor. Yeah, NE5532 opamps, old skool, I know, but there is plenty of drooled-over classic gear stuffed full of those things and they are both multiple sourced and really cheap. Input impedance should be very close to 100k, with output impedance close to 1k, as per the Doepfer standard. I have to say, it’s really nice to do some old skool dual rail analog again after all these years. Running 3.3V single-supply is all the rage, but it’s just not the same somehow.
I redrew the schematic in EAGLE next. It was actually pretty straighforward — for once, I could find all the parts I needed in the EAGLE library. Normally, this never freaking happens, so I have to spend hours creating the parts from scratch. But anyway, here it is. It looks a little odd because things that I’d normally draw as variable resistors are drawn as header connectors because, at least for the prototypes, the connectors and pots are going to be hand wired rather than soldered direct to the PCBs. This is actually standard practice for most modules of this kind, but to be honest if I ever have to make a lot of these things I’ll be looking to eliminate that wiring because it’s the most likely single point of failure.
Next up was a PCB. This was actually pretty straighforward. I went for 0402 surface mount for most of the passives, but chose to go old skool for the regs because of easy availability, low cost and extreme reliability. I went for through hole inductors because I won’t know exactly what I’ll be dealing with until I measure a real synth power bus, so it may be that something as simple and cheap as a wire link with a ferrite bead threaded on it will be sufficient. If not, I can chuck in a 1 microhenry inductor with decently low series resistance easily enough. The ESD protection is a bunch of surface mount Schottky diodes that clamp the inputs and outputs around the power rails — to maintain their own survivability, they are at the inboard end of series resistors and they have low value ceramic caps across them. Seems like overkill somehow — this board is about 80% power filtering, ESD protection and band limiting and about 20% actually doing stuff.
So anyway, I think the panel artwork will look something like this. Kind of like the Doepfer module that inspired it, but with the AC/DC coupling switch. I kind of want to go for a minimalist black panel look too, because Modular Moog (and end of argument). Since I have the CNC equipment for it, I’ll most likely engrave the panels from sign material — this stuff has a white core with a shiny black surface laminate, so I think it’ll look really good. It’ll be rather slow to machine, but at least all the holes and the outer cutout can be done at the same time (though not with the same cutter, naturally!).
I’m not quite done poking at this yet. I think I’m going to swap out the 3 pin power connector for one that matches the Doepfer standard directly to make cabling easier. I think I also need to give the gain pot circuit a bit of attention too to limit the maximum gain. Channel activity blinkenlights would be nice too. Hmmm…
I’m intending writing up the designs as I go along. I’m going to open source the design. I’ll probably end up selling partial and/or complete kits or maybe even prebuilt modules if people are interested, but first time around this is for my own use.
So what do you think? Am I as nuts as I think I am for attempting this?
Please note: this was cross-posted from my main blog at http://www.mageofmachines.com/main/