note_polyphony=1, note_selfmask=off, and envelope release phase
mathieugarcia opened this issue · 3 comments
Hi,
When note_polyphony=1
and note_selfmask=off
are set, and an amplitude envelope exists (tested only with a FlexEG) with a non-zero release time, the old, released voices will still play the release phase of the envelope.
The only way to achieve true monophony on a region is to set the release time to 0 or disable the FlexEG.
Is this expected behavior or a bug ? To me, when the region is set to be monophonic, it should only allow one voice to play at a time and steal / kill any that have been released and still ringing.
Thanks for your feedback.
However, using polyphony=1
works as expected to achieve region monophony.
Hi, kinwie from the sfz Discord is really the specialist of this kind of considerations :) There's a lot of finesse around these and possibly alot of varying implementations. note_polyphony
in general is not strictly a polyphony (as in how many notes are playing). It might well be a bug, but we'd need to make more extensive tests across implementations or ask one of the gurus about this.
I tested it on Sforzando and while the outputs are slightly different (which I should investigate separately), the behavior with respect to voice muting seems to be the same with the following file:
<region>
sample=RED_ZEPPELIN_2023_repack/49-Zildjian-20-Crash-1.wav
ampeg_release=4
note_polyphony=1
note_selfmask=off
loop_mode=no_loop
pitch_keytrack=0
I'd say polyphony
is really the opcode you want for strict polyphony enforcement but maybe someone on the SFZ discord will know more.