From 957fa1af8445e2df6e408e9a17847d96b4d186e6 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 30 Mar 2026 04:33:55 -0400 Subject: [PATCH] Chakra: use real singing_bowl_synth from pytheory 0.40.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced FM bell approximation with singing_bowl_strike_synth. Fixed Tone.from_hz → Tone.from_frequency. Co-Authored-By: Claude Opus 4.6 (1M context) --- tracks/chakra.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tracks/chakra.py b/tracks/chakra.py index 72e5266..b56e674 100644 --- a/tracks/chakra.py +++ b/tracks/chakra.py @@ -25,7 +25,7 @@ score = Score("4/4", bpm=60, temperament="just") # Helper: find the nearest tone to a frequency def chakra_tone(hz): """Create a tone near the target chakra frequency.""" - return Tone.from_hz(hz) + return Tone.from_frequency(hz) # Chakra frequencies ROOT_HZ = 396 @@ -98,10 +98,9 @@ for _ in range(2): for chord in root_prog: harmonium.add(chord, Duration.WHOLE, velocity=80) -# ── Singing bowl — FM bell at 396 Hz ─────────────────────────── -bowl = score.part("bowl", synth="fm", envelope="bell", volume=0.3, - reverb=0.9, reverb_type="taj_mahal", - fm_ratio=2.0, fm_index=1.5) +# ── Singing bowl — real singing bowl synth ────────────────────── +bowl = score.part("bowl", instrument="singing_bowl", volume=0.4, + reverb=0.9, reverb_type="taj_mahal") # Strike every 2 bars — let it ring bowl.add(root_tone, Duration.WHOLE, velocity=90)