-
Notifications
You must be signed in to change notification settings - Fork 18
Modulation envelope is not convex and has the wrong duration #55
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
Comments
Thank you for the report. It seems that this issue happens because MeltySynth was made based on TinySoundFont. Below is a similar issue reported for TinySoundFont: About the problem with the short attack time, it looks like TinySoundFont changes the attack based on velocity. It can probably be fixed by just removing this process: meltysynth/MeltySynth/src/RegionEx.cs Line 54 in 465b650
For the problem of the attack being linear, would it work to use a function like the release curve of the volume envelope, but flipped upside down? 🤔 |
Here's the fluidsynth's convex and concave lookup tables. I've implemented them in spessasynth and everything works correctly: |
Thank you for the information. However, I cannot use FluidSynth's code because it is under the LGPL, and I want to maintain the MIT license. I'll do some more research on this. |
Hi sinshu,
I've found a bug in the soundfont implementation of meltysynth. It is not related to modulators or unsupported/unplanned features, so I'm opening an issue.
SF Specification, section 8.1.2:
As you can see below, meltysynth uses linear attack instead of convex, and it is too short, compared to fluidsynth:

This was tested using the soundfont specification test
This code was used to render the file:
The text was updated successfully, but these errors were encountered: