From 4edf1d983d708b571cbecac4d62f6a5ff12a80d8 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sat, 28 Mar 2026 11:30:18 -0400 Subject: [PATCH] =?UTF-8?q?Remove=20strum=20grace=20notes=20=E2=80=94=20cl?= =?UTF-8?q?ean=20chord=20hit=20only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Grace notes created audible gap before chord and sounded like separate plucks. Pure chord hit sounds better. Co-Authored-By: Claude Opus 4.6 (1M context) --- pytheory/rhythm.py | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/pytheory/rhythm.py b/pytheory/rhythm.py index 35234ae..25d6ce5 100644 --- a/pytheory/rhythm.py +++ b/pytheory/rhythm.py @@ -2573,21 +2573,7 @@ class Part: from .chords import Chord as ChordClass chord_obj = ChordClass(tones=strum_tones) - # Strum sweep: quick individual string hits before the chord. - # Only the first 2-3 strings get a tiny grace note, the rest - # ring together as the full chord. Gives the strum feel without - # sounding like separate plucks. - n_strings = len(strum_tones) - if strum_time > 0.02 and n_strings >= 3: - n_grace = min(2, n_strings - 1) - per_grace = strum_time / n_grace - grace_vel = max(1, int(velocity * 0.25)) - for i in range(n_grace): - self.add(strum_tones[i], per_grace, velocity=grace_vel) - ring = max(0.1, total_beats - strum_time) - self.add(chord_obj, ring, velocity=velocity) - else: - self.add(chord_obj, total_beats, velocity=velocity) + self.add(chord_obj, total_beats, velocity=velocity) return self