-
Notifications
You must be signed in to change notification settings - Fork 404
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
Noise when certain AMP envelope shape used and sustain=0 and note held #1509
Comments
Thanks. For the upcoming 1.6.5 release I fixed quite a few things in the analog mode, including the sustain target being wrong. I'll give this a try, but it might also be fixed in the nightly already. |
Oh sorry this is the digital envelope not the analog. Well much easier to debug for sure. Will peek. |
OK I now know why this happens but am not quite sure what to do surge/src/common/dsp/AdsrEnvelope.h Line 275 in d4e5017
that code which is the quadratic version of the decay in digital mode has the problem that when phase -> 0 lo = hi as opposed to lo and hi bracketing the sustain. I think the answer is to make the low have a - rate * rate but I am still debugging. But yeah this is a real bug in the implementation when sustain is zero. |
In a special case of the digital envelope decay type 1 and sustain exactly 0, you would oscillate away from zero rather than getting there. There's a math reason for this but it is undesirable so fix this special case with a limit if. Closes surge-synthesizer#1509
In a special case of the digital envelope decay type 1 and sustain exactly 0, you would oscillate away from zero rather than getting there. There's a math reason for this but it is undesirable so fix this special case with a limit if. Closes surge-synthesizer#1509
OK this is fixed. Will be corrected in 1.6.5 coming in the next few weeks; and should be fixed in the nightly on our website in an hour or so. Thanks for the super accurate report. Really helped me find the problem quickly. |
In a special case of the digital envelope decay type 1 and sustain exactly 0, you would oscillate away from zero rather than getting there. There's a math reason for this but it is undesirable so fix this special case with a limit if. Closes #1509
Amazing! Thank you! |
Describe the bug
If sustain is set to 0, and the decay part of the AMP envelope shape is set in the middle (the default setting), and you trigger a note and hold it down, a low-level noise is generated. See attached for a demonstration.
Please let us know your surge version
This information is all in the menu/about screen
To Reproduce
Expected behavior
Volume should go to 0. No noise.
Screenshots
See above.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: