-
Notifications
You must be signed in to change notification settings - Fork 259
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
reverb width range discrepency between effect behavior and documentation #1455
Comments
I don't think this is actually intended here. AFAIK, the range 0-100 exists for historical reasons, because it was the default range of the corresponding shell command. And I just applied that range when turning it into a true setting in #49. In the reverb's code there's the following comment: fluidsynth/src/rvoice/fluid_rev.c Lines 66 to 69 in 33f5461
There is also a comment about values >1: fluidsynth/src/rvoice/fluid_rev.c Lines 1043 to 1045 in 33f5461
I think whether or not a "ton of feedback" is induced also depends on the soundfont. E.g. take this tune, which I just added to the testsuite: MIDI + SF2 - even with width=100 it still sounds quite fine to me. Yet I agree about the docs. #1460 elaborates on the PS: Happy new year :) |
The update to the documentation states "A value of 100 indicates maximum separation between left and right channels.", but I would argue the maximum separation is already achieved at 1. In fact, FluidSynth's reverb width between 0 and 1 behaves exactly like other reverb engines I've used when setting between 0% and 100% effect stereo width. Going above 1 doesn't really seem to increase the stereo width, at least as I can perceive it, but instead introduces the other attributes we've already discussed (louder, almost a "doubling" type attribute to the sound). |
Looks like we need a third opinion. @jjceresa Happy new year to you! Since you've implemented the current FDN reverbator, what's your opinion on the meaning of the "reverb width" range? |
First of all happy new year to every one. Thanks for the work done in fluidsynth !
That is right, and the formula in point (1) shows that. So width sub range [0..1] meaning should be perceived as a stereo width effect with 1 being the maximum stereo width.
Yes, it increases the perception of uncorrelated signals inR, inL which aren't stereo channels because the reverb is a monophonic reverb. So width subrange ]1..100] meaning produces other resonnant effect. As Tom , I noticed that subrange ]1..100] effect is input music material dependant. Sometimes it sounds fine, in other situation it sounds muddy. It turns out that width has two meaning. As Chris said for documentation clarity, perhaps subrange [0..1] should be the only one prefered for stereo width meaning. |
FluidSynth version
2.4.1
Describe the bug
All of FluidSynth's reverb parameters have a range of 0–1, with the exception of width, which has a range of 0–100. However, the effective range for this parameter is actually 0–1, with 1 being 100% effect width. Values above 1 begin introducing an odd feedback into the reverb, and should be avoided.
At the very least, I believe this should be mentioned in the documentation, as the developers of software using FluidSynth frequently set the controls to the full 0–100 range. This often leads to control knobs where setting values between 0–1 is difficult or impossible due to the granularity of the control, and most of the usable knob range is in the weird feedback zone. QSynth has since limited its reverb width control to 0–1 based on my advice, and Drumstick MIDI Player will now also be doing the same.
Here is a test MIDI file and FluidSynth recordings rendered at the following reverb width settings:
Expected behavior
One of the following should happen, IMO:
The text was updated successfully, but these errors were encountered: