OK, here’s the plan. Or a plan. Or a plan to plan.
Long time readers will remember over four years ago I decided to build a (modified) Weird Sound Generator (WSG), though it took me about a year and a half before I started building it. I did a lot of the work, maybe 85% of it — or rather, maybe 85% of everything other than testing and debugging — and then I got distracted and haven’t gotten back to it since. I’ve thought about it a few times the past couple years and every time, I’ve been extremely reluctant to go back to it. Why? Because after all this time, knowing I probably didn’t document extremely well what I had in mind for my modifications and feeling somewhat doubtful about their design given that my electronics knowledge was even less adequate then than it is now, I have serious doubts about the feasibility of my putting it all together and getting it working.
But now that I’ve spent some time learning about microcontrollers, I’ve come up with an idea. Or a pair of ideas. Or ideas for ideas.
Plan B part 1
First of all, finish the Weird Sound Generator! But not modified. I think all that’s involved in unmodifying it is to restore a couple or four resistors I removed from the circuit board, ignore everything I put in the kludge area, and, most significantly, change the front panel to a more standard, simpler one. The panel I made is sheet aluminum with a laminated paper overlay… Probably the simplest thing is to just dismount the pots and jacks not used for the unmodified WSG, and use a new overlay to cover up the empty holes. The unmodified WSG is well documented and presumably well designed, so I feel a good deal more sanguine about pulling that off.
Plan B part 2
Then… build a hardware-controlled software synth!
Make a front panel. Connect all the pots to the analog inputs on a microcontroller, all the switches to the digital input/output pins, and the filtered and unfiltered output jacks to PWM output pins. For interesting numbers of knobs and switches that’s more pins than an Arduino Uno has; in principle I think it could be done with some mux/demux chips, though ultimately it’d probably make more sense to do this with something like an Arduino Mega or a Maple. Then it’d be straightforward to write code to find out the states of the pots, the CV inputs, and the switches.
And then it’s just a… well, not so simple… matter of writing digital synth code.
Do this in steps. Start with an Auduino. That’s just five pots and some pre-existing code; no problem! He said.
Then, oh, maybe work toward a PAiA Gnome / Gakken SX-150 / Korg Monotron class subtractive synth. Mostly new coding involved for that, and this site looks like an excellent resource.
Then maybe add another oscillator or two, whatever, and, hm, how about some modular synth features? Put some old school jacks on the front panel and… connect to PWM outputs and analog inputs?… no! You’d connect them to digital I/O pins. You wouldn’t actually send electrical audio signals over the wires; instead the wires’ presence would tell the software to modulate one module by the output of the other. But you could plug any audio module into an output module that would have an audio output. (Also see this; and this Arduino as synth module!)
Of course getting that far would involve a lot of work, and my track record on completing these kinds of ambitious projects isn’t so good. (See first paragraph.) But I’m at least building the Auduino and looking into the next step or two.