From 683762a596a953ee204cf445e8abb2168f382c61 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 30 Mar 2026 12:56:36 -0400 Subject: [PATCH] =?UTF-8?q?Acid=20Reign:=20replace=20tabla=20with=20dhol?= =?UTF-8?q?=20chaal=20=E2=80=94=20heavier,=20driving?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 16th note dhol pattern with fills every 4 bars. Dagga bass hits + tilli accents. Fills are rapid dagga/tilli alternation into big DB marcato. Fades to 8ths in outro. Co-Authored-By: Claude Opus 4.6 (1M context) --- tracks/acid_reign.py | 104 +++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/tracks/acid_reign.py b/tracks/acid_reign.py index 206458d..30b3239 100644 --- a/tracks/acid_reign.py +++ b/tracks/acid_reign.py @@ -193,70 +193,66 @@ for bar in range(8): hats.hit(CH, Duration.SIXTEENTH, velocity=max(12, vel - 15)) hats.hit(CH, Duration.SIXTEENTH, velocity=max(12, vel - 30)) -# ── TABLA — enters halfway, fusion moment ─────────────────────── -TNA = DrumSound.TABLA_NA -TIT = DrumSound.TABLA_TIT -TGE = DrumSound.TABLA_GE -TDHA = DrumSound.TABLA_DHA -TKE = DrumSound.TABLA_KE -TGEB = DrumSound.TABLA_GE_BEND +# ── DHOL — enters halfway, heavy and driving ──────────────────── +DB = DrumSound.DHOL_BOTH +DD = DrumSound.DHOL_DAGGA +DT = DrumSound.DHOL_TILLI -tabla = score.part("tabla", volume=0.3, reverb=0.25, reverb_decay=1.0, - humanize=0.06) +dhol = score.part("dhol", volume=0.4, reverb=0.2, reverb_decay=0.8, + humanize=0.06) # Bars 1-32: silent for _ in range(32): - tabla.rest(Duration.WHOLE) + dhol.rest(Duration.WHOLE) -# Bars 33-56: double-time keherwa (16ths) with fills every 4 bars +# Bars 33-56: dhol chaal pattern in 16ths with fills for bar in range(24): if bar % 4 == 3: - # Fill — 16th note flurry with bayan bends - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=100, articulation="accent") - tabla.hit(TIT, Duration.SIXTEENTH, velocity=55) - tabla.hit(TGEB, Duration.SIXTEENTH, velocity=110) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=72) - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=95, articulation="accent") - tabla.hit(TIT, Duration.SIXTEENTH, velocity=50) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=68) - tabla.hit(TGEB, Duration.SIXTEENTH, velocity=108) - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=98, articulation="accent") - tabla.hit(TNA, Duration.SIXTEENTH, velocity=70) - tabla.hit(TKE, Duration.SIXTEENTH, velocity=58) - tabla.hit(TGEB, Duration.SIXTEENTH, velocity=115) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=65) - tabla.hit(TIT, Duration.SIXTEENTH, velocity=52) - tabla.hit(TGEB, Duration.QUARTER, velocity=120) + # Fill — rapid dagga/tilli alternation + dhol.hit(DB, Duration.SIXTEENTH, velocity=110, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=70) + dhol.hit(DT, Duration.SIXTEENTH, velocity=65) + dhol.hit(DD, Duration.SIXTEENTH, velocity=100) + dhol.hit(DT, Duration.SIXTEENTH, velocity=72) + dhol.hit(DB, Duration.SIXTEENTH, velocity=108, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=68) + dhol.hit(DT, Duration.SIXTEENTH, velocity=62) + dhol.hit(DD, Duration.SIXTEENTH, velocity=105) + dhol.hit(DT, Duration.SIXTEENTH, velocity=70) + dhol.hit(DB, Duration.SIXTEENTH, velocity=112, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=65) + dhol.hit(DD, Duration.SIXTEENTH, velocity=108) + dhol.hit(DT, Duration.SIXTEENTH, velocity=68) + dhol.hit(DB, Duration.QUARTER, velocity=120, articulation="marcato") else: - # Double-time groove — 16ths - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=90, articulation="accent") - tabla.hit(TGE, Duration.SIXTEENTH, velocity=52) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=65) - tabla.hit(TIT, Duration.SIXTEENTH, velocity=38) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=60) - tabla.hit(TIT, Duration.SIXTEENTH, velocity=35) - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=85, articulation="accent") - tabla.hit(TNA, Duration.SIXTEENTH, velocity=55) - tabla.hit(TGE, Duration.SIXTEENTH, velocity=50) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=62) - tabla.hit(TIT, Duration.SIXTEENTH, velocity=38) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=58) - tabla.hit(TDHA, Duration.SIXTEENTH, velocity=88, articulation="accent") - tabla.hit(TIT, Duration.SIXTEENTH, velocity=40) - tabla.hit(TNA, Duration.SIXTEENTH, velocity=60) - tabla.hit(TIT, Duration.SIXTEENTH, velocity=35) + # Driving dhol chaal — 16ths + dhol.hit(DB, Duration.SIXTEENTH, velocity=105, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=65) + dhol.hit(DD, Duration.SIXTEENTH, velocity=85) + dhol.hit(DT, Duration.SIXTEENTH, velocity=60) + dhol.hit(DT, Duration.SIXTEENTH, velocity=62) + dhol.hit(DT, Duration.SIXTEENTH, velocity=55) + dhol.hit(DD, Duration.SIXTEENTH, velocity=80) + dhol.hit(DB, Duration.SIXTEENTH, velocity=100, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=62) + dhol.hit(DD, Duration.SIXTEENTH, velocity=82) + dhol.hit(DT, Duration.SIXTEENTH, velocity=58) + dhol.hit(DT, Duration.SIXTEENTH, velocity=55) + dhol.hit(DD, Duration.SIXTEENTH, velocity=78) + dhol.hit(DT, Duration.SIXTEENTH, velocity=60) + dhol.hit(DB, Duration.SIXTEENTH, velocity=98, articulation="accent") + dhol.hit(DT, Duration.SIXTEENTH, velocity=58) -# Bars 57-64: fading — back to 8ths +# Bars 57-64: fading for bar in range(8): - vel = max(25, 80 - bar * 7) - tabla.hit(TDHA, Duration.EIGHTH, velocity=vel) - tabla.hit(TGE, Duration.EIGHTH, velocity=max(20, vel - 25)) - tabla.hit(TNA, Duration.EIGHTH, velocity=max(20, vel - 15)) - tabla.hit(TIT, Duration.EIGHTH, velocity=max(15, vel - 35)) - tabla.hit(TNA, Duration.EIGHTH, velocity=max(20, vel - 20)) - tabla.hit(TIT, Duration.EIGHTH, velocity=max(15, vel - 38)) - tabla.hit(TDHA, Duration.EIGHTH, velocity=max(20, vel - 5)) - tabla.hit(TNA, Duration.EIGHTH, velocity=max(20, vel - 22)) + vel = max(25, 95 - bar * 9) + dhol.hit(DB, Duration.QUARTER, velocity=vel, articulation="accent") + dhol.hit(DT, Duration.EIGHTH, velocity=max(20, vel - 30)) + dhol.hit(DD, Duration.EIGHTH, velocity=max(20, vel - 15)) + dhol.hit(DT, Duration.EIGHTH, velocity=max(20, vel - 32)) + dhol.hit(DT, Duration.EIGHTH, velocity=max(20, vel - 35)) + dhol.hit(DD, Duration.EIGHTH, velocity=max(20, vel - 18)) + dhol.hit(DB, Duration.EIGHTH, velocity=max(20, vel - 5)) # ── 808 SUB — deep sine, follows the root ─────────────────────── sub = score.part("808", synth="sine", envelope="pad", volume=0.8,