This piece plunges into a heavy, atmospheric soundscape driven by the collision of overlapping basslines and raw industrial noise.
The melody is provided by a synth line that continuously varies a diatonic interval within a minor scale, creating a sense of subtle suspense and emotional depth. The livecoding environment allows this melodic movement to be modified in real-time, enabling dynamic, expressive shifts in the harmonic texture.
Crucially, the percussion—specifically the kick drum and snare—is not sequenced conventionally. Instead, these elements are activated only when the synth's oscillator exceeds a defined threshold, linking the rhythm directly to the intensity of the melodic line (which is also driving the filter's cutoff and resonance). This creates a highly reactive, breathing relationship between the melodic and percussive layers.
Listen with a good pair of headphones!
Interesting rhythm patterns can be simply generated by using non standard beats.
Eg here we have a 5/3 downbeat, with the hi-hat playing at each 1/4. This results in two distinct syncopated beats every bar.
(at 5/3 1/4 (playk *kit-hhat3* 90))
Generated using a varying diatonic interval on a minor scale. Which can be modified in real time for nice effects etc..
(play bass (mkint C2 (oneof 0 3 4 5) 'm ) 90 dur)
(mcc *cutoff* osc1)
(mcc *reso* osc2)
The kick drum and snare are activated only when the synth oscillator (driving the cutoff and resonance) goes beyond a certain threshold.
This allows to build up momentum semi automatically.
;; cyclical drums
(if> osc1 60
(at 1 1/2 (playk *kit-kick* 90)))
(if< osc1 60
(at 10/3 1/4 (playk *kit-snare* 90)))
Full source on GitHub: 2024-07-techno-beat.xtm
Cite this blog post:
Comments via Github:
2024
2023