define :drums do |level, b_level=1, rand_cf=false|
  synth :fm, note: :e2, release: 0.1, amp: b_level * 3, cutoff: 130
  co = rand_cf ? rrand(110, 130) : 130
  a  = rand_cf ? rrand(0.3, 0.5) : 0.6
  n  = rand_cf ? :bnoise         : :noise
  synth :noise, release: 0.05, cutoff: co, res: 0.95, amp: a if level > 0
  sample :elec_blip, amp: 2, rate: 2, pan: rrand(-0.8, 0.8) if level > 1
  sleep 1
end

define :synths do |s_name, co, n=:e2|
  use_synth s_name
  use_transpose 0
  use_synth_defaults detune: [12,24].choose, amp: 1, cutoff: 100, pulse_width: 0.12, attack: rrand(0.2, 0.5), release: 0.5 ,  mod_phase: 0.25, mod_invert_wave: 1
  
  play :e1, mod_range: [7, 12].choose, pan: rrand(-1, 1)
  sleep 0.125
  play :e3, mod_range: [7, 12].choose, pan: rrand(-1, 1)
  sleep [0.25, 0.5].choose
  play n, mod_range: 12, pan: rrand(-1, 1)
  sleep 0.5
  play chord(:e2, :minor).choose, mod_range: 12, pan: rrand(-1, 1)
  sleep 0.25
end

in_thread name: :synths do
  use_random_seed 0
  level = -1
  with_fx :echo do |e|
    50.times do |i|
      puts i
      drums level, 0.8
      sleep 1
      sync :foo
    end
  end
end

in_thread name: :synths1 do
  with_fx :reverb do |r|
    with_fx :echo, phase: 0.25 do |e|
      cue :foo
      synths(:mod_dsaw, 60, :e5)
      cue :foo
      synths(:mod_dsaw, 60, :e5)
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_dsaw, 60, :e5)
      cue :foo
      synths(:mod_dsaw, 60, :e5)
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_dsaw, 60, :e5)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :e3)
      cue :foo
      synths(:mod_saw, 60, :a2)
    end
  end
end

Link: https://sonic-pi-gallery.s3.amazonaws.com/410d3d352f15dfb5b1ebdbc5cc8ba3d5.wav