Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polyphony opcode within <region> #259

Closed
ghost opened this issue May 22, 2020 · 2 comments · Fixed by #275
Closed

Polyphony opcode within <region> #259

ghost opened this issue May 22, 2020 · 2 comments · Fixed by #275
Assignees
Labels
improvement Improve on existing functionality

Comments

@ghost
Copy link

ghost commented May 22, 2020

With Sforzando, I can use the following line without issue:

<region> sample=/Lower8/release/31.wav lokey=g1 hikey=g#1 pitch_keycenter=g1 offset=9594 group=1 polyphony=1

The group=x polyphony=1 is useful in particular for preventing build-up of release samples during long trills in baroque keyboard music. As I now understand it, SFZ format specifies polyphony as a group code but clearly Sforzando can also interpret it just fine within a region and how I've seen it used in other instruments.

I now have a potential workaround from Paul by using "master" to create hierarchy enabling use of "group" per release note but it would be great for sfizz to be able to read existing patches that work flawlessly with Sforzando.

@FrnchFrgg
Copy link

FrnchFrgg commented May 23, 2020

What I do not understand is that when you do trills, you altenately release each note, so their release sample shouldn't "build up" but be played in turn ? Or are the release samples long enough that you really need the new release sample to steal the voice of the previously playing one (for the same note) ?

Just to be sure: accepting this change would make note_polyphony=<value> a synonym of group=<non-used-group-shared-by-all-notes-of-the-same-key> polyphony=<value> (ignoring note_selfmask).

That being said, I agree that it is a bug in sfizz and sfzformat. In the polyphony specification, you interpret "group" as <group> where I would interpret it as "all regions with the same group opcode" (which can be defined at <group> level, but doesn't need be).

@ghost
Copy link
Author

ghost commented May 23, 2020

Yes, the release samples are quite long...it is the characteristic soundboard resonance that can sound over several seconds, hence the crazy build-up on a trill and need for stealing per individual note. You have it exactly right!

I seem to remember trying note_polyphony= and it not behaving as I would expect (in Sforzando) so that's why I moved to group= polyphony= having seen the same method used elsewhere. I believe I need polyphony not note_polyphony because my harpsichord is not chromatically sampled so includes more than one pitch per group. I read something similar here: https://sfzformat.com/opcodes/polyphony

@paulfd paulfd self-assigned this May 29, 2020
@paulfd paulfd added this to the 0.4.0 milestone May 29, 2020
@paulfd paulfd added the improvement Improve on existing functionality label May 29, 2020
@paulfd paulfd linked a pull request Jun 22, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improve on existing functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants