Functional Coldplay - remaking "supersaw" synth from "Sky Full of Stars"
Today I’m going to show you how to recreate “supersaw” synth with an example of Coldplay’s “Sky Full of Stars” chorus.
Full sound:
I’m not a big fan of Coldplay, but must admit that they know how to follow the trends, and using a “supersaw”-like sound is really popular these days in both pop and EDM songs.
Synth design
The main ideas of this design are taken from this excellent Attack Magazine tutorial and original Supercollider implementation by coreyker from sccode.org
My Overtone implementation of this synth looks like this:
Here’a how it sounds played solo:
I’m aware that it’s not a perfect one, but for purposes of this blog it should be fine and it’s design shows some cool features of Overtone and functional programming.
The idea here is to take many saw oscillator sources and combine them together with slightly detuned pitch and a little bit of delay. The cool things we can use here in contrast to traditional synths are: randomization and functional programming. With randomization we can take a random value of both the pitch detune and the delay from a very small range (ranged-rand
). This makes our synth a little different each time we register it in Supercollider. With functional programming we can define a function (snd-fn
) which creates one saw synth for us, and then repeatedly
invoke it a given number of times to create many detuned synths. In above case we create 5 hi-saws
with original frequency and 5 lo-saws
with a half of original frequency (one octave below). Next, we just add some pink-noise
to enrich the sound a bit and just combine the saws and noise together. The rest is just an envelope (env-gen
), filter (rlpf
) and adding some reverb (free-verb
).
Layering
As you may know from previous posts I use Leipzig DSL to define melodies playable with Overtone. The cool thing we can do with approach is “layering”: use the same notes with different instruments and mix the sound together.
Here is “Sky Full of Stars” melody defined by Leipzig (taken from this midi file)
To use another instrument we have to change the :part
value:
I defined :stab
and :plucky
instruments to make this background for the lead synth:
I also used this nice kick drum with a lot of sidechain compression which makes it EDM-ish a bit.
So the whole track from the beginning of the post is defined like this: