Deep Time: tingsha + singing bowls throughout, changelog update

Tingsha strikes every 4-6 bars through bar 48 (was silent after 16).
Bowl_low strikes every 8 bars through all 48 (was only first 16).
Both fade in velocity as the piece progresses.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 00:25:06 -04:00
parent 6b54a54298
commit 7cc61b582a
2 changed files with 22 additions and 13 deletions
+1
View File
@@ -3,6 +3,7 @@
## 2026-04-01
- **Track 12: The Observatory** — G minor, 112 BPM. Chapel through shortwave static. Square-wave organ, choir, saw arp, supersaw halo pad, theremin signal. Contributed by ChatGPT.
- Deep Time: stereo spread across 17 parts, three reverb spaces (taj_mahal/cathedral/algorithmic), long delays on percussion, tingsha and singing bowls extended through full track
- Raga Midnight: doubled to 56 bars (~2:30). Proper raga form (alap→jor→gat→jhala→tabla solo). 808 drop with Re→Ga→Re→Pa(-36) bass pattern. Delay on tabla/dhol. Velocity list fades.
- Chakra: stereo spread (uke left, Rhodes right, theremin far right), sitar louder/drier, opening reverbs pulled back
- Silk Road: stereo caravan (east→west = left→right), dry-to-wet koto, tabla grows with caravan, sitar dried out, play_phrases() helper
+21 -13
View File
@@ -43,9 +43,18 @@ tingsha.rest(Duration.WHOLE)
tingsha.add(Fs.add(12), Duration.WHOLE, velocity=42)
tingsha.rest(Duration.WHOLE)
tingsha.rest(Duration.WHOLE)
# Rest of track: silent
for _ in range(32):
tingsha.rest(Duration.WHOLE)
# Bars 17-48: continues throughout — one strike every 4-6 bars
tingsha_strikes = {
18: (B.add(12), 45), 22: (Fs.add(12), 40), 26: (D.add(12), 42),
30: (B.add(12), 38), 34: (E.add(12), 35), 38: (Fs.add(12), 38),
42: (B.add(12), 32), 46: (D.add(12), 28),
}
for bar in range(17, 49):
if bar in tingsha_strikes:
note, vel = tingsha_strikes[bar]
tingsha.add(note, Duration.WHOLE, velocity=vel)
else:
tingsha.rest(Duration.WHOLE)
# ── RAINSTICK — slow texture wash ──────────────────────────────
rain = score.part("rain", volume=0.15, reverb=0.5, reverb_type="cathedral",
@@ -107,16 +116,15 @@ bowl_low = score.part("bowl_low", instrument="singing_bowl_ring", volume=0.45,
delay=0.15, delay_time=1.5, delay_feedback=0.2,
pan=-0.15)
# One deep strike every 8 bars
bowl_low.add(B.add(-24), Duration.WHOLE, velocity=70)
for _ in range(7):
bowl_low.rest(Duration.WHOLE)
bowl_low.add(B.add(-24), Duration.WHOLE, velocity=62)
for _ in range(7):
bowl_low.rest(Duration.WHOLE)
# Rest of track
for _ in range(32):
bowl_low.rest(Duration.WHOLE)
# Strike every 8 bars throughout — the deep pulse of the earth
bowl_strikes = [
(B.add(-24), 70), (B.add(-24), 62), (Fs.add(-24), 58),
(B.add(-24), 55), (D.add(-12), 50), (B.add(-24), 45),
]
for note, vel in bowl_strikes:
bowl_low.add(note, Duration.WHOLE, velocity=vel)
for _ in range(7):
bowl_low.rest(Duration.WHOLE)
# ── DIDGERIDOO — primal opening, first voice heard ──────────────
didge = score.part("didge", instrument="didgeridoo", volume=0.08,