notepat: shift+whistle = messy 'blow' with noise layer
First per-instrument Shift alternate after harp→pluck. When whistle
is the active wave and Shift is held, the note trigger layers a
noise voice at 4× the pitched tone on top of the whistle synth:
- main whistle @ playFreq (volume 0.42 instead of 0.5 to leave
room for the noise without clipping)
- noise @ playFreq × 4 (volume 0.18, slow attack so it
feathers in behind the pitched tone)
Both voices are tracked together via compositeVoices so the release
kills them in sync — press → whistle + breath, release → both fade
together with the user's selected decay. Feels like blowing harder
across the whistle mouth: more air, same pitch.
Runs alongside the existing global Shift outline + shift-boost
velocity so the "global alternate mode" reads both visually and
sonically. Harp's short-pluck path untouched.
Queued: sine/triangle/saw/square/sample Shift alternates still open.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>