Beginning CV/gate sequencing with the Arduino
I’ve been threatening to do this for ages, and since I gave up fixing my other CSQ-100 (after having got a blast of 240v up my arm), I’ve been having a go at creating a CV/gate sequencer with one of my Arduino boards.
The idea is to replicate what I most like about of the ancient Roland CSQ-100 sequencer – in that you can attach a CV/gate keyboard, play notes into it, and then it plays them out again when sent a trigger from an external source. It’s pretty much the same idea as the internal SH-101 and Pro-One sequencers. The CSQ-100 also does real-time recording, but I’ve never had much success with that. This is the one that works, plugged into an SH-5.
In my implementation, the synth (a slightly noisy MS20, in this case) CV and gate outs plug into analogue ins on the Arduino. When the Arduino boots up, it’s in record mode. Every time a key is pressed on the keyboard, the gate in goes low – the MS20 using a short trigger – and it takes a sample of the CV and stores it in an array. I’m averaging the voltage sampled over a few milliseconds, just in case. I’m also throwing away the first couple of results, because in the way I’ve got it set up, the analogue-to-digital converter seems to take a few goes to settle. This bit took a lot of swearing.
I can keep plugging away on the keyboard until it reaches my arbitrary limit of 32 steps.
When a switch is switched, it goes into play mode, and waits for a trigger, in this case from a TR-606 drum machine. The high tom trigger out from the 606 is wired to analogue in 0 configured as a digital in. When a trigger is received, an interrupt is generated, and on the next loop(), the Arduino sends a note voltage to the MS20 via a MCP4922 dual 12-bit DAC – I had some of these around after trying Mrbook’s MIDI Gakken SX-150 – and also a gate via a digital out.
So skip-to-the-end, here’s the MS20 (with a bit of noisy spring reverb and BBD delay) being sequenced by the Arduino – tuning is probably way off…
You can hear the filter being modulated in a regular way too – I added a pot on one of the analogue ins and used that to store another CV along with note CV.
While I was at it, I also wired in a pot for note length, and a switch for legato – here’s a demo of the legato feature:
Hoohah. The great thing is that it’s so much fun to play with – I can stab in a bunch of keys at vaguely random and something interesting usually pops out, it’s a happy-accident generating machine. (Except when I put a video camera on it, of course). Even if it’s not quite right, I can use the triggers on the 606 to rearrange the rhythm of the pattern. The nice thing about it too is that it naturally works with 1v/oct and hz/v control voltages because it’s not translating the voltage into a note value, as the CSQ-100 does, but this has the downsides of not allowing for transposing the pattern from an external keyboard and there being more information to store.
Since all then, it’s got rather worse/better: