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

Default Modulators #1384

Open
spessasus opened this issue Sep 19, 2024 · 3 comments
Open

Default Modulators #1384

spessasus opened this issue Sep 19, 2024 · 3 comments

Comments

@spessasus
Copy link
Contributor

Is your feature request related to a problem?

Currently, soundfont does not allow us to add default modulators. The only way to do so, is by adding them to every instrument which is absolutely terrible.

Describe the solution you'd like

I've described it here. I originally created an issue on Polyphone with this idea, but I expanded it onto a markdown file.

Describe alternatives you've considered

None, really.
This seems to be the perfect solution because:

  1. Doesn't violate the SF2 spec (foreign INFO chunks shall be ignored)
  2. Players that won't recognize it probably don't support modulators anyway
  3. Default modulators, yay! For example changing the volume curve to match GS one!
  4. Code from the IMOD and PMOD parsers can be reused
  5. Should be easy to implement (at least for fluidsynth, just using the api for manipulating default modulators internally)

I'll also write to Ian from BASSMIDI and I've already suggested the idea to Davy at Polyphone.

What do you think? Let me know!

@derselbst
Copy link
Member

I understand that having a DMOD chunk would allow Soundfont editors to get rid of displaying duplicated modulators everywhere, and instead more clearly separate them for the user, i.e. what is an instrument modulator, a preset modulator, and what modulator(s) apply to every instrument.

But since you plan to save the modulators in the DMOD chunk to the regular IMOD chunk for compatibility reasons, what exactly should fluidsynth support here?

@spessasus
Copy link
Contributor Author

spessasus commented Sep 19, 2024

Hi,
The original issue suggestion involved only polyphone using DMOD, and the saving solution would make it work with all sf synths, but now I've expanded it as a full-on chunk that won't save modulators to IMOD. The original issue is out of date. I'll update it now.

@spessasus
Copy link
Contributor Author

Hi again,
I've added an example soundfont for testing in the proposal repository. I hope it helps getting the idea. I've also implemented support for it into my synthesizer so you can see how it should be interpreted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants