Mittwoch, September 23, 2026
# Welcome to Sonic Pi
# Shaman Bell — the rise of the buffalos to the snakes tune
# Aufstieg der Büffel zur Melodie der Schlangen
# von HAR-ASH MAH-HANI (2026)
use_debug false
set :bpm, 70
use_bpm get(:bpm)
#use_random_seed 314159
# Ritual call
live_loop :shaman_bell do
sample :perc_bell, amp: 2, rate: 1
cue :cue # Sendet das Zeichen für den Einsatz an sync :cue
sleep get(:bpm) * 3 # einmaliger Ruf, viel Raum
end
# The drum (The earth pulse)
# Ritual‑Style Doppel‑Schlag (klassisches Schamanen‑Pattern)
live_loop :shaman_drum do
with_fx :reverb, room: 0.7, mix: 0.5 do
2.times do
sample :bd_tek, amp: rrand(1.0, 1.4), cutoff: get(:bpm) # orig: 70
sleep 0.12 + rrand(-0.01, 0.01)
end
end
sleep 0.55 + rrand(-0.02, 0.02)
end
# Bell
with_fx :reverb, room: 0.9, mix: 0.6 do
with_fx :echo, phase: 0.375, mix: 0.25 do
# The melody
live_loop :bell do
use_bpm get(:bpm)
amp_wave = (range 0.1, 0.025, step: 0.01).mirror.tick
with_fx :slicer, phase: 0.5, mix: 0.3 do
sample :perc_bell, rate: rrand(0.7875, 0.8125), amp: amp_wave
sleep 0.55 + rrand(-0.02, 0.02)
end
end
# The spirit
live_loop :shaker do
amp_wave = (range 0.2, 0.4, step: 0.05).mirror.tick
with_fx :lpf do
sample :perc_snap, rate: 1.2, amp: amp_wave
sleep 0.25
end
end
# The earth pulse …
live_loop :shaker2 do
sync :cue
sleep 0.5
amp = 1.0
(get(:bpm) * 3).times do
# … fade-out
amp = amp - rrand(0.025, 0.05)
sample :perc_snap2, amp: (amp > 0) ? amp : 0
sleep 0.55 + rrand(-0.02, 0.02) / 3
end
end
end
end
# BPM-Fade
live_loop :bpm_fade do
sync :shaker
start = get(:bpm) || 70
stop = rrand(60, 75)
steps = [16,32,64].choose # orig: 64
duration = [128].choose # orig: 128
steps.times do |i|
t = i.to_f / (steps - 1)
curve = t ** 2 # quadratische Kurve
bpm = start + (stop - start) * curve
set :bpm, bpm
sleep duration.to_f / steps
end
sleep rrand(0, 256)
end