Hands up who had a c64 back in the day. Remember this Rob Hubbard classic?
Epic stuff- and all from only 3 Voices!
The SID: A 3-Osc hybrid synth on a chip. Multimode filter, Osc sync, 3 ADSR, 3 ring modulators and audio in. Little did I know back in 1988 when I unwittingly threw away my first analogue synth.
Some day I will build my own SID monster. Oh yes.
Tempest is pretty capable here too. Of course it’s hardly 8-bit, but there is no Ring Mod (booo), and it’s unlikely it could be even half-convincingly faked. So we must park our disappointment. But chin-up, because we have other options for getting the videogame feel. In particular we want to get get those crunchy drums sounds, as well as the c64-characteristic ‘fake chord’ arpeggios.
We do have a magic ingredient to help us here – the square wave! Oh baby. Pepper your sounds with square waves – oscillators and LFO’s and you will be transported back in your childhood living room, waiting to tape-load that dodgy copy of Parallax for the umpteenth time. Try these:
- We previously made a simple kick drum using only a sine-wave and a pitch envelope. Now try it again, but replace the Sine with a Square wave and turn the pitch right down. Play with the envelopes. To me it sounds like we’re entering serious ‘Phatt’ territory.
- We haven’t looked at synthesizing snares yet, but the on-board digital samples are pretty good, and a couple are already 8-bit crunchy. So load some familiar-sounding snare or tom samples, link Osc frequency to a square LFO and turn-up the LFO rate and amount. High values give better results. Try adding other oscillators, offset their frequencies and give them separate square LFOs. Loads of interesting sounds here.
- No discussion of HiHats yet either – these are generally made with noise. But not just any old noise. The noise source in a SID is ‘pseudo-random’ and pitchable. It sounds distinctive – old radio quality -very similar to an instantly recognizable S+H thrust sound from Defender. A logical choice of oscillator here would be the pitchable digital noise sample (Resonant 4K Noise) modulated to hell and back and controlled by a well-set filter. I’m close to it not there yet, but I have stumbled upon some excellent industrial-machine type noises this way, so I’m happy to wallow for a while. (UPDATE: The trick is to use noise as a modulation source on Osc frequency. This needs to be set-up in ModPaths).
In these examples the overly-dominant square waves are providing a kind of bitcrushing effect. I like it, but it’s no substitute for the OTO Biscuit.
Fake Chord Arpeggios:
Because SID offers 3 voices to output all it’s notes, using all three voices to make a chords was a severe limitation. But it’s one that inspired the c64 trademark sound – the ‘fake chord’ arpeggio. Basically, a ‘chord’ could be played on one voice by quickly modulating the Osc frequency between two known note intervals. Each had to sound long-enough to be distinguishable as a pitched note, thus the choppy feel. But it worked – and still does.
- It’s best to start with just one oscillator – a triangle in Osc1, so we can clearly hear what’s going-on. We need to switch envelopes to ADSR mode so that we can hear the sustained arpeggio in all it’s glory.
- Attach a square wave LFO to the Frequency of Osc 1. On turning-up the LFO rate and amount the familiar sound will appear.
All very exciting and great for wild FX sounds, but is it musical? The answer is probably no; well at least not until we define the frequency range that the square LFO is affecting. The square can be thought of as a switch – going directly from one value to the other with nothing in bewteen (you can often hear the distinctive click artifact that results from this). To get a musically pleasing result – our ‘chord’ should define the exact interval between the square wave poles. But how the hell do we do that?
Well, let’s do some measurements. For this we’ll need a tuner. I use the great little freebie, GTune. Go get it. A pen and paper is suggested for working these things out. Better to have a basic plan of attack before sitting with Tempest – otherwise it’s too easy to become overwhelmed and lose your way. I’m running Tempest through the tuner, so if I play a c4 note, the tuner will proudly display it.
If I now set the LFO rate low and turn-up the LFO amount whilst holding a key the tuner will start to flip-flop between the held note and another note higher up. The LFO is unipolar, so the bass note stays the same – only the second note changes as you turn up LFO amount.You will see that the relative pitch of the second note is determined by the LFO amount value. By changing LFO amount whilst keeping an eye on the tuner, it’s possible to determine the LFO amount value that creates a 1 semitone interval. Using this method, I determined that value to be 8. Thus an LFO amount of 96 is one octave. In total the LFO has a 16 semitone range (8×16 = 128). I know I could have just referred to DSI – but that would be too easy now, wouldn’t it. Instead, we’ve increased our understanding of the instrument.
Now we’re rolling!
- Using basic music theory we can set the intervals to mimic a two-note chord of our choosing, then adjust LFO speed until it sounds right. We can make power chord arpeggios by using an interval of 7 semitones = LFO amount of 56. Or how about the Devil’s interval (tritone) – 6 semitones – LFO Amount of 48. Or octaves (96).
For your reference, I provide a list of the common chord intervals for you to try.
All very well I hear you say, but we know that most chords have more than two notes. It’s a complication but not a show-stopper. We still have 3 oscillators and one LFO left, and thus many possibilities arise for more complex and nuanced arpeggios. It’s like having a primitive wavesequencer – limited control options but many possibilities for rhythmic synth lines.
Here’s just one simple example of how it can sound. This is a triangle in Osc 1 being faded into a saw in Osc2 and back. Osc 1 frequency is modulated by LFO1 with an amount of 56 (7semitones=perfect5th chord). Osc2 frequency is controlled LFO2 at 1 octave interval (amout=96). Both LFOs are synced to clock but with different rates. A simple but interesting way to get movement in your sound. Notice the clicks at the beginning caused by the abrupt envelope switching.
You should try to play these patches in 16 tunings mode , or with a keyboard, in both mono and poly. I also got interesting results from modulating the Osc1/2 mix with the LFO’s, taking one out of sync,etc. All we’re doing is mixing the Oscs – we still have the filters, all envelopes, FM, Feedback and fx available to spice things up. Fertile ground! – I can think of many places to go from here.
A nice side-effect is to use sufficiently-long decay/release in the envelopes to fade-out the arpeggio. There is the suggestion of a delay line in there. There is also often a nice chorus effect too, even ‘ reverby’.
Oh, and don’t forget to experiment with modulating the LFO rates with envelopes, note number, velocity, or themselves.
Girth over length?:
The last square wave tip for now can be used to give extra width to any sound you wish. Hook-up a square LFO to voice pan and turn it’s amount to a low value – about 10 for now. Slowly bring-up the LFO rate – it will sound quite phasey at the start, but there are sweet spots where you will go ‘bingo’ as a pleasing chorus effect emerges. Different sounds will have different sweet-spots, so again – experiment with your ear as guide.
Used sparingly, this effect works well on anything you want to widen a little without obvious panning and it’s headaches. At cranked-up LFO settings the sound become quite distorted – an effect that you may want to check out.
OK that’s me done for now. Happy 8-bitting!.