When playing a pattern through an Ndef, the first hit always sounds noticeably weaker than subsequent hits. This is most apparent with percussive sounds but also happens with \default:
@mstep Thanks for the suggestion! The \set role approach works because the synth is already running, but looking at the waveform closely, even that shows a slight difference to me on the first hit.
In my case I need pattern-spawned synths (for sample playback, polyphony, different instruments per event), so the \set role isn’t applicable. The issue seems fundamental to how Ndef initializes its monitoring chain when a pattern source is assigned, the only workaround I’ve found is evaluating .play and the source assignment as two separate evaluations.
Maybe there is a way to force the Ndef monitor to be fully initialized before the first pattern event fires, all within a single code block?
The outer Ndef serves both as a mixer and as a master effects bus, so I can’t easily remove it. I will to make fadeTime: 0 work across multiple Ndef layers, or refactor it to use a shared bus instead.