Backward Introductions

There seems to be a thing for backward intro’s in pop
just recently… so I thought I’d make a couple of simple
ones…

Add your own if you feel like it.

Eli…

define :hats do
  at [ 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5 ] do
    with_fx :reverb, room: 0.95 do
      sample :drum_cymbal_closed, amp: rrand( 0.3, 0.7 )
      if one_in( 3 )
        sleep 0.25
        sample :drum_cymbal_closed, amp: rrand( 0.2, 0.4 )
      end
    end
  end
end

in_thread do
  sample :guit_em9, start: 1, finish: 0
  sleep 0.45
  sample :guit_em9, pitch: -2, start: 1, finish: 0
end

sleep 10

live_loop :do_hats do
  hats
  sleep 8
end

live_loop :drums do
  at [0.0, 0.375, 0.75, 1.25, 2, 2.375, 2.75, 3.25, 3.75 ] do
    sample :bd_haus
  end
  with_fx :reverb, mix: 0.5 do
    at [0.5, 1.5, 2.5, 3.5, 3.75] do
      sample :sn_dolf
    end
  end
  at [0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 3.875 ] do
    sample :drum_cymbal_closed
  end
  sleep 4
end
use_bpm 110

speed = (ring 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)
trigger = 0

live_loop :bar do
  sleep 1
end

live_loop :beats do
  sync :bar
  sleep 4
end

live_loop :start do
  if trigger == 0 then
    sync :beats
    
    8.times do
      rate = 1 / speed.look
      sample :bd_haus, beat_stretch: speed.tick, rate: rate ,amp: [0.4,0.8].choose
      sleep [0.125, 0.25, 0.5, 0.5,0.5,0.5,0.5,0.5].look
      # sleep 0.5
    end
  else
    sync :bar
  end
  sample :bd_haus,amp: [0.4,0.8].choose
  trigger=1
  
end

sleep 8

live_loop :background do
  sync :beats
  use_synth :fm
  use_synth_defaults amp: 0.25, attack: 0.0, release: 2
  play (chord [:c4, :eb, :g4].choose, :M7)
  sleep 2
  if one_in(4) then
    play (chord :c4, :M7)
  else
    play (chord :d4, :M7)
  end
  sleep 1
  
end