test flight of the spacebird

Continuing with the late-70s Japanese synth recreations that I’ll probably never finish – that thing I was working on back in January has grown into this:

my four-voice "compuphonic" synthesiser

Four voices, “compuphonic”. You know. My version has a sawn-off version of the originals’ motherboard in the vague hope that I might be able to fit it in a 4U (or maybe 3U?) box. Maybe in some alternate universe this actually happened and was released with a Roland model number, maybe MKS-4?

So many problems, some of which have been fixed. The chorus sounds a bit too swooshy. The envelopes leak clock noise into the output. The LFO leaks into the audio path, although that one is at least a known problem with the original.

The oscillators required some resistor-twiddling to get the pulse-width wave square. I fret I might have altered the level of the VCO into the filter slightly, I could do with checking further.

I mean, it can sound quite good. With all four voices in unison and chorus on it’s proper shouty raaaargh full-on “I am a synthesiser”.

We’ll get to the chorus later on but here’s a bit of pulse-width single voice then unison:

Also the LFO randomly goes quite fast on that, quite nice for making a horrible racket.

Pile of (not quite finished) boards!

pile of circuit boards

Initially I made voice boards with single row connectors but they were really wobbly. And the voice board was the wrong way round.

I changed the spacing on the card connectors so they’re on a 0.1″ grid, with the initial thought that I would build the motherboard on stripboard, but eventually decided I was done with such masochism for this one.

Predictably then the module controller board and the voice board don’t quite line up in the same way as the original does. I’d re-do the motherboard and the module controller but… it’s a lot of work. Otherwise the voice board and the module controller should be the same as the original, the track layout should be fairly close.

As IR3109s aren’t falling from the sky (give 2020 a chance, though) I went with the rev D voice board, meaning that I had to make loads of BA662 clones. Praise be to openmusiclabs.

Here’s one of the billions of 662 clones/clowns, missing the two transistors and resistors for the buffer ‘cos they weren’t needed in this case:

seemingly one of six-hundred-and-sixty-two BA662s

Maybe if I get round to doing a Promars I’ll try building it with LM13700s in adaptors, using homemade 662s is an exercise in masochism.

The chorus works and sounds ace but for the none-too subtle swooshing from the LFOs. I bought two sets of MN3007 from eBay – inevitably the cheapest pair made my power supply panic, I guess they were MN3207 or something, re-marked.

Here’s a bit of that – listen out for the (stereo) chorus kicking in second time round the bass loop. Later on (at about 39 seconds) when the filter closes you should be able to hear the zapping on the chorus, and some clock noise from the envelopes.

Poking at the output of the BBD with an oscilloscope suggested that the two outputs are at slightly different levels, so maybe I have to balance them out to cancel the swooshiness. Originally the JP-4 didn’t have anything here for trimming the individual outputs from the BBD, the System-100M delay/chorus module does.

So much dust, it’s been here for a while:

chorus board

The original used a pair of MN3005s but I adapted the layout for 3007s using the tactics published by fitzgreyve.

The brain of this mess is a dusty Teensy 3., which is massive overkill for such a simple synth, but the inbuilt microSD card is handy for saving and loading patches. And the plentiful I/O will be handy when I come to making a front panel for it. (In about five years, at this rate).

Teensy 3.6 on a breadboard, running the rest of it

The DAC is a DAC8562, which has two 16-bit channels. It’s comically tiny, especially next to the through-hole parts on the weird circuit board I had made.

The output from the DAC for the compuphonic settings and the MIDI-to-CV is 5V, giving five octaves of pitch, which matches the four octave keyboard (plus one octave down via the transpose switch) range on the original, but I’m not sure if it’s a bit limiting when it comes to the keyspan.

It does a few different voice modes as per the original which may or may not work reliably: different flavours of unison, round robin, voice per note held down, and some bonus single voice modes to help me tune the individual voices.

This demo uses the unison mode for the bass drone and the round-robin for the wobbly lead that comes in at about 21 seconds, so the notes (with a long release) smear over each other.

Early on I hadn’t realised how much current this thing was drawing – the wires I was using were too thin and causing the pitch to wander about, so tuning was a regular thing. Beefing up the cables has mostly sorted the drifting pitch, but I still think about incorporating some sort of autotune.

One downside with autotune is that I’d lose a bit of pitch range, so I’d definitely need to amplify the voltage from the DAC. Maybe that’s against the spirit of the wobbly original though.

Portamento is done in software as part of MIDI to CV – the original used a 662 for each voice but I’d had enough of making them by this point.

All the compuphonic settings from the original are MIDI-controllable. How will I get the MC-4 to talk to it? I guess I could do with some sort of assignable CV/gate input thing on the Teensy.

Another sort of demo – I was enjoying playing in Ableton for a change and actually being able to play chords. Loads of reverb on the pad, maybe a bit of chorus on the unison bass bit and a single voice for the squeaky acid bit at the end.

There’s something pleasing about the stepped voltages from the DAC, although it was a struggle to get them right.

Oscilloscope DAC output (before the sample and hold for each channel)

It didn’t help that my 90s-era Philips oscilloscope died quite early on into this project, and it turns out now that the same model is a hundred quid or so more expensive on eBay. This picture is from my replacement scope, which is a Tektronix 2445 that I’m not so keen on.

I found I had be quite careful in the sequencing and timing of the DAC and S&H multiplexer to get reliable behaviour, and even then I’m not 100% sure I’ve sorted it. The DAC8562 is posh compared to my usual MCP4922, but it still needs at least 10 microseconds to settle down to a consistent voltage. Boo physics.

I’ve got a screen! It’s in colour! Although I’m not sure that’s a good idea, because I’m having to shift more bits out through the SPI interface than I would otherwise with monochrome display. Here’s my cheesy splash screen.

MKS-4 splash screen

There’s nothing much actually happening on the screen yet, but here’s a video to show off the patch loading and how the parameter changes are represented on the screen. When it comes to patch 5 I’m changing multiple parameters through MIDI, so predictably enough the screen goes a bit apeshit. (And the camera is a bit out of focus on the last part, soz about that)

The envelope noise is really obvious on patch one. The voice mode display currently doesn’t get updated when the patch changes so that’s all lies. At least the voice allocation numbering is correct.

The random noise burst when it turns on is alarming, but I quite like it. It reminds me of Robotron starting up, or a robot angrily being woken from its slumber. It does need sorting out though, it’s on the list.

I spent way too long on implementing the arpeggiator and got tied up in how it should respond to MIDI clock, so that’s in a half-broken state.

On the arp front I saw a rumour (…in YouTube comments) that the original didn’t do a real random, but that it was actually based on a bunch of numbers stored in ROM. So if you hold the right keys down, eventually you get the “Rio” arp line, god help you.

Presumably that would be in the key assigner board mask ROM, which unfortunately hasn’t been dumped out as far as I can tell. Not that I’m sure I’d be able to do anything with it if I had it.

Next move is to experiment with temporarily taking the voice outputs through a different route to see if we can make the induced clock noise from the envelopes disappear. I suspect it’ll mean cutting tracks on the motherboard – there’s already a suggested fix for the LFO bleed on the originals mentioned elsewhere that I’ll look at as well.

I’d already tried to balance out the chorus swooshiness with a pot and promptly fried one the BA662s on the output, so that’s next after the envelope noise. Still a long way to go.

Tagged under


  1. 21st December 2020Sina says:

    Kind of intrigued by this, sounds pretty good! Any chance you would want to make more than one of these?

  2. 23rd December 2020ua726 says:

    Not sure if I’m going to get to the end of this one at the moment. Don’t think it would viable to make any more in its current form, it takes too much time. It’d be better to redesign it in it surface-mount. I’d be surprised if Uli wasn’t looking at the thing this is based on…

Write a comment: