Bela Lugosi drum beat (Bauhaus)

Hi.

Consider using the ‘at’ command, for partial beats.

Example:

use_bpm 120
live_loop :beat4 do
  sleep 4
end


define :hat do
  at [0, 2, 3],
  [{:amp=>0.3}, {:amp=> 1}, {:amp=>0.5}] do |p|
    sample :drum_cymbal_pedal, p
  end
end

define :drum do
  at [1, rrand_i(2, 3)],
  [{:amp=>1}] do |p|
    sample [:drum_bass_hard, :drum_bass_soft].choose, p
  end
end



live_loop :do_hat do
  sync :beat4
  hat
  sleep 1
end

live_loop :do_drum do
  sync :beat4
  drum
  sleep 1
end

And for a bass guitar… mmm… so many ways. :slight_smile:

use_bpm 110

live_loop :bassline1 do
  use_synth :prophet
  use_synth_defaults release: rrand(0.05, 0.25), amp: rrand(1.5, 2)
  notes = scale(:d2, :minor)
  play notes.tick, cutoff: rrand(40, 120)
  
  sleep 0.25
end

live_loop :bassline2 do
  use_synth :blade
  use_synth_defaults release: rrand(0.25, 0.5), amp: rrand(1.5, 2)
  
  if rand(1) > 0.65 then
    notes = scale(:d2, :minor) + (ring :r)
  else
    notes = scale(:d1, :minor).shuffle + (ring :r)
  end
  
  play notes.tick, cutoff: rrand(40, 120)
  sleep 0.25
end
use_bpm 90


live_loop :bass do
  if rand(1) > 0.75
    n = (ring :r, :r, :c2, :d3, :r, :f3, :r, :a1, :f2)
  else
    n = (ring :r, :r, :c2, :d3, :r, :f3, :r, :a1, :f2)
    n=n.shuffle
  end
  use_synth :fm
   use_transpose [0,+12].choose
  use_synth_defaults release: 0.125 + rrand(0, 0.2), amp: 0.5, pan: rrand(-0.5, 0.5)
  play n.look, cutoff: rrand(30, 130)
  sleep 0.25
  tick
end

Have fun!

Eli…

1 Like