-
Notifications
You must be signed in to change notification settings - Fork 246
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
Modulation envelope attack is linear instead of convex #153
Comments
Hi, The recording is a very good demonstration. We can hear easly the fluidsynth attack for the modulation enveloppe that sounds 'linear'. For fluidsynth modulation enveloppe: For fluidsynth amplitude enveloppe
Conclusion: Attack for both enveloppes (modulation and amplitude)are not correct versus spec 2.01. regards Original comment by: jjceresa |
Hi, Now, for modulation envelope attack to get convex shape, do you think that the same kind of function (i.e logaritmic) is suitable ? Original comment by: jjceresa |
I'm not sure, since I'm not a coder. Perhaps somebody else can answer this? Original comment by: mrbumpy409 |
Now that I have had time to experiment with this, I am finding that I prefer FluidSynth's current mod envelope attack (linear) vs. the spec (convex). A linear attack actually makes more sense for a modulation envelope. For example, if you set the mod envelope to a 1 sec. attack and 1 sec. decay to cause a note's pitch to rise and then fall, you would expect the rise and fall to be along a similar slope. Using a convex attack curve results in a very quick initial rise that slows down as it reaches the top, which sounds weird, in my opinion. So our options are:
Opinions? Original comment by: mrbumpy409 |
Hi, Original comment by: jjceresa |
Here are some audio examples so you can hear the difference between the convex mod envelope attack (Audigy, SF spec) and the linear mod envelope attack (FluidSynth).
For the most recent versions of GeneralUser GS, I have re-programmed "Sweep Pad" to sound correct with FluidSynth, using an attack time of roughly 1.75 seconds instead of 6.5. Here is what the new version sounds like using FluidSynth, and here is what it sounds like on the Audigy. Now FluidSynth sounds correct and the Audigy's filter opens too quickly. So, you can see the problem, but the question remains: what is the ideal solution? To review the options:
Original comment by: mrbumpy409 |
Thanks for the time to produce this good demonstration. My opinion is that any musical need should not be limited by any technology or specification. It is obvious that the SoundFonts format which is a great idea should be updated with new functionalities. But for now he question remains: what is the ideal solution? First: The least worst solution could be going for the maximum compatibilty (option 2 above). Increasing compatibily with older soundfonts is very important. Consequently that means that fluidsynth should be updated to have a default convex shape for Modulation Attack segment. Second, the actual linear shape for Mod Attack, seems to be musically useful. So keeping this option inside Fluidsynth would be interesting (option 1 above). Whith the help of a setting, command, or API the synthesizer could be set in this option (linear or convex). Of course that means that at Soundfont design time, we always need to think and maintain two set of Soundfonts; the one working only with the default convex shape and the other working only with the linear shape. jean-jacques ceresa. Original comment by: jjceresa |
Yeah, I would also vote for going with the spec. I have had to maintain separate Audigy vs. FluidSynth versions of GeneralUser GS mainly due to this very issue. Providing a curve option is not a bad idea, although I tend to think that if you want to be able to customize envelope curves and filter types, etc., that is what a sampler format such as SFZ is for. Original comment by: mrbumpy409 |
modulation envelope test.tar.gz Here are the test files from my original bug report on the SourceForge bug tracker. |
Hello, (since more than one year now !).Thanks a lot for this important missing archive.
Not yet familiar with this format, after a quick look there are SFZ 1.0 and SFZ 2.0 and both are official but only SFZ 1.0 is documented. Did you know if SFZ 2.0 documentation is accessible elsewhere ? or may be could you advice about preference between both ? |
The "official" documentation on the SFZ 2.0 specs was only ever published in the book Cakewalk Synthesizers: From Presets to Power User<https://www.amazon.com/Cakewalk-Synthesizers-Presets-Power-User/dp/1435455649/>. However, fairly comprehensive documentation can also be found at the following links:
* sfz format mappings<http://www.drealm.info/sfz/>
* sfz format<http://www.drealm.info/sfz/plj-sfz.xhtml>
* LinuxSampler SFZ Reference<https://docs.google.com/document/d/1UxPar5toq2uDrU4Gkf4jOGzV3ic-CAoRPo0cWE6xino/pub>
You can also find a good discussion group for SFZ programming here<https://plogue.com/phpBB3/viewforum.php?f=14>.
Peace,
-~Chris
On 12/23/2017 12:56 PM, jjceresa wrote:
Here are the test files from my original bug report on the SourceForge bug tracker.
Hello, (since more than one year now !).Thanks a lot for this important missing archive.
although I tend to think that if you want to be able to customize envelope curves and filter types, etc., that is what a sampler format such as SFZ is for.
Not yet familiar with this format, after a quick look there are SFZ 1.0 and SFZ 2.0 and both are official but only SFZ 1.0 is documented. Did you know if SFZ 2.0 documentation is accessible elsewhere ? or may be could you advice about preference between both ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#153 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AGgnPRBUVjgnFNZ_VbFkncDxx1kCyOfwks5tDUz0gaJpZM4On3po>.
|
Many thanks for the hints! |
The fact that fluidsynth uses a linear modenv attack is a bug. The spec is absolutely clear to use a convex shape (whether we like it or not). And because to avoid having to think about two versions of soundfonts out there, I dont want to introduce any setting for this. |
Implemented by #406. |
According to the 2.01/2.04 spec, both the volume and modulation envelopes should have a convex attack phase. FluidSynth correctly uses a convex attack for the volume envelope, but uses a linear attack for the modulation envelope.
You can hear the difference by comparing the two "modulation envelope test" OGG recordings (inside attached archive) between the Audigy 2 ZS and FluidSynth. In the recording, you will hear a single note playing through all stages of a modulation envelope that is mapped to the note's pitch. Hear the difference in the speed/curve of the initial rise in the note's pitch. The similarly-named .mid and .sf2 files can be used to test this yourself.
Reported by: mrbumpy409
Original Ticket: fluidsynth/tickets/155
The text was updated successfully, but these errors were encountered: