Skip to content

Instantly share code, notes, and snippets.

@vgan
Last active September 5, 2020 23:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vgan/44c2a39126f781e868c4311b32a410f1 to your computer and use it in GitHub Desktop.
Save vgan/44c2a39126f781e868c4311b32a410f1 to your computer and use it in GitHub Desktop.
Sonic Pi Drum loop
sample :drum_splash_soft
define :paradiddle_quarters do
sample :drum_snare_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_snare_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
end
define :paradiddle_8ths do
sample :drum_snare_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sample :drum_bass_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_snare_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
end
define :paradiddle_toms do
sample :drum_tom_lo_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
end
define :fill1 do
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_hi_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_tom_lo_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_tom_mid_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_mid_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_mid_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_mid_soft,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.25
sample :drum_tom_lo_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
sample :drum_tom_lo_hard,amp: choose([1,0.8,0.8,0.6,0.5]), decay: 3
sleep 0.125
end
fill1
sleep 1
paradiddle_quarters
sample :drum_splash_soft
paradiddle_8ths
sample :drum_splash_soft
paradiddle_quarters
sample :drum_splash_soft
paradiddle_8ths
sample :drum_splash_hard
in_thread do
live_loop :bass do
sample :drum_heavy_kick, amp: choose([1,0.8,0.8])
sleep 0.5
sample :drum_heavy_kick, amp: choose([2,0.8,0.8])
sleep 0.25
sample :drum_heavy_kick, amp: choose([1,0.8,0.8])
sleep 0.25
sample :drum_heavy_kick, amp: choose([2,0.8,0.8])
sleep choose([0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5])
sample :drum_heavy_kick, amp: choose([1,0.8,0.8])
sleep choose([0.125,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5])
sample :drum_heavy_kick, amp: choose([2,0.8,0.8])
sleep 0.25
sample :drum_heavy_kick, amp: choose([1,0.8,0.8])
sleep 0.25
sample :drum_heavy_kick, amp: choose([2,0.8,0.8])
sleep 0.5
end
end
in_thread do
live_loop :randotom do
sleep choose([0.25,0.25,0.25,0.5,0.5,0.5,1,2,1])
sample choose([:drum_tom_hi_soft,:drum_tom_mid_soft,:drum_tom_lo_soft,:drum_tom_hi_hard,:drum_tom_mid_hard, :drum_tom_lo_hard])
sleep choose([0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,1])
end
end
in_thread do
live_loop :snare do
sleep choose([0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.5])
sample choose([:drum_snare_hard,:drum_snare_hard,:drum_snare_hard,:drum_snare_hard,:drum_snare_hard,:drum_snare_soft]),amp: choose([0.8,0.8,0.6,0.5]), decay: 3
sleep choose([0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,1,1,0.25,0.25])
end
end
in_thread do
live_loop :hihat do
sample :drum_cymbal_closed, decay: 5, attack: -2, decay_level: 4, sustain: 0.2
sleep choose([0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.125,0.125])
end
end
in_thread do
live_loop :ride do
sleep choose([0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,25,0.25,0.5,0.5,0.5,0.5,8,8,8,8])
sample choose([:drum_cymbal_hard,:drum_cymbal_soft])
end
end
in_thread do
live_loop :something_else do
sleep choose([8,16,32,64])
sample choose([fill1, paradiddle_quarters, paradiddle_8ths, paradiddle_quarters, paradiddle_8ths,:drum_splash_soft, :drum_splash_hard, :drum_cowbell ])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment