Skip to content

Instantly share code, notes, and snippets.

@klahrich
Created April 21, 2017 04:06
Show Gist options
  • Save klahrich/e1b5a02534c528df798546a32cf4e933 to your computer and use it in GitHub Desktop.
Save klahrich/e1b5a02534c528df798546a32cf4e933 to your computer and use it in GitHub Desktop.
use_sample_bpm :ambi_lunar_land, num_beats:8
k = 0
k2 = 0
beat_duration = 1
live_loop :main do
sleep beat_duration.to_f/2
k2 = k2 + 1
if k2 == 2 then
k = k + 1
k2 = 0
end
end
loop0 = Hash.new(){}
loop0[:hits] = [true, false, false, false,
true, false, false, false,
true, false, false, false,
true, false, false, false,
true, false, false, false,
true, false, false, true,
true, false, false, false,
true, false, false, false
].ring
loop0[:hits2] = [true, false, false, false,
true, false, false, false,
true, false, false, false,
false, false, false, false,
true, false, false, false,
false, false, false, false,
false, false, false, false,
false, false, false, false
].ring
loop0[:beats]=4
live_loop :loop0 do
sync :main
if k >= 16 then
#with_fx :echo, phase:0.25, mix:0.25 do
loop0[:hits].length.times do
with_fx :distortion do
sample :drum_bass_hard if loop0[:hits].tick
sample :bd_sone if loop0[:hits].look
end
sample :bass_voxy_hit_c if loop0[:hits2].look && k >= 32
sample :bass_trance_c, sustain:1 if loop0[:hits2].look && k >= 32
sample :drum_cymbal_closed if loop0[:hits].look
sample :drum_splash_soft, sustain: (k < 32 ? 0.125 : 0.5), release:0.125, cutoff:120 if loop0[:hits].look
sleep beat_duration * loop0[:beats] / loop0[:hits].length.to_f
end
#end
#end
end
end
loop1 = Hash.new(){}
loop1[:notes] = [:C4 , :rest, :Ds4 , :C4,
:rest, :Ds4 , :C4 , :rest,
:G4 , :Fs4 , :Fs4 , :Fs4,
:G4 , :rest, :rest, :rest,
:C4 , :rest, :Ds4 , :C4,
:rest, :Ds4 , :C4 , :rest,
:G4, :Fs4 , :Fs4, :G3,
:D4, :Ds4 , :C4 , :rest,
:C4 , :rest, :Ds4 , :C4,
:rest, :Ds4 , :C4 , :rest,
:G4 , :Fs4 , :Fs4 , :Fs4,
:G4 , :rest, :rest, :rest,
:C4 , :rest, :Ds4 , :C4,
:rest, :Ds4 , :C4 , :rest,
:As3 , :As3, :G3 , :G3,
:Ds4 , :rest, :D4 , :rest].ring
loop1[:beats]=16
live_loop :loop1 do
sync :main
if k >= 0 then
with_fx (k < 16 ? :vowel : (k < 48 ? :level : :slicer)), phase:ring(0.5, 0.25, 32).tick(:phase) do
with_fx :distortion do
with_fx :echo, phase:0.25, mix:0.25 do
loop1[:notes].length.times do
synth :piano, note: loop1[:notes].tick(:notes) + (k < 48 ? 0 : -12)
synth :dtri, note: loop1[:notes].look(:notes), attack:0.125, release:0.125
synth :dark_ambience, note: loop1[:notes].look(:notes)-12, amp:2
synth :saw, attack:0.0125, release:0.125, note: loop1[:notes].look(:notes)+12, amp:0.5, cutoff:110 if k>= 32
sleep beat_duration * loop1[:beats] / loop1[:notes].length.to_f
end
end
end
end
end
end
live_loop :loop2 do
sync :main
if k == 12 then
with_fx :slicer, phase:0.125, amp_min:0.5 do
with_fx :reverb do
with_fx :distortion do
sample :ambi_lunar_land, rate:-0.25, start:0.25, amp:7, sustain:3
s = sample :misc_cineboom, rate:-1, start:0.25, amp:0, amp_slide:3, sustain:3
control s, amp: 7
end
end
end
end
end
live_loop :loop3 do
sync :main
if k >= 32 then
with_fx :slicer, phase: 0.25, mix: (k >= 48 ? 0 : 1) do
sample :loop_industrial, amp:2
sleep sample_duration :loop_industrial
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment