Playing around with the Bhairav scale and tabla rhythms

Today I played around with the Bhairav scale. I found this scale thanks to Claus Rückbeil from the Berlin Jazz school and I liked it immediately. So I enhanced a little script with tabla rhythms I already had:

# Endless loop with tabla, drone and bhairav scale
# SR 16.08.2025
# Sources:
# - own experiments
# - rhythm_tabla_map_random_with_bhairav_melody.txt
#
# File: rhythm_tabla_map_random_with_bhairav_melody.txt

use_random_seed 15

tablas = [:tabla_tas1, :tabla_tas3,
          :tabla_tas2, :tabla_tas3,
          :tabla_na, :tabla_re,
          false, false]

define :tabla_pattern do
  return 8.times.map{ tablas.choose }.ring
end

define :melody_pattern do
  return 8.times.map{ (scale :C4, :bhairav).choose }.ring
end


#print tabla_pattern

live_loop :tabla do
  p = tabla_pattern
  64.times do
    what = p.tick
    if what then
      sample what, amp: rrand(0.7, 1.2)
    end
    sleep 0.125
  end
end

live_loop :drone, delay: 4 do
  use_synth [:dark_ambience, :hollow].choose
  play [:C4, :C3].choose, amp: [2,4].choose, sustain: 4, decay: 1
  sleep 4
end

live_loop :bhairav, delay: 8  do
  use_synth :pluck
  p = melody_pattern
  8.times do
    my_length = [0.25, 0.5, 1].choose
    what = p.tick
    if what then
      play what, amp: rrand(2.0, 3.0), sustain: my_length, decay: my_length / 2.0
    end
    sleep my_length
  end
end
5 Likes

Thank you for sharing. I just discovered “delay” and the other options for “live_loop” :slight_smile:

Hi

this is nice, I like your rhythm functions, simple and effective.

PD-Pi

1 Like

Nice! I like the variation in the phrasing and the randomness of the scale.