Open Risu opened 2 years ago
I am not sure to understand your comment. What is different in Windows? The following observations are exactly the same in Linux and Windows:
Gain in qsynth has different limits than in fluidsynth. In fluidsynth, the maximum is 10.0, while in qsynth it is 2.0, so this value 2.0 is the top value you can assign to Gain in qsynth, either using the command line option, or using the UI element (a knob and a spin box labeled "Master Gain" in the main window, which does represent whole, integer numbers instead of decimals). When you use the command line argument "--gain 1.23", the Master Gain control shows the value 123 and I can hear the difference in volume clearly, when assigning different gain values. The output peak level meters on the main window also reflect the value changes. Another place that shows the value changes is the "Messages" window, where you can see lines like this:
17:23:42.444 Qsynth1: fluid_synth_set_gain(1.23)
Maybe you are talking about the tab "settings" on the "Setup" dialog showing all fluidsynth settings on a data grid. The row for "synth.gain" does not change when the Master Gain value is changed, and if you change that value with the command like "--option synth.gain=0.25", the new value is shown in the grid, but is not applied to the synth. I agree that this looks like an error (a mismatch between fluidsynth settings and qsynth) but hardly a serious one.
I thought the limit is set in UI which is decreasing everything to something like MaxValue in property, but nevermind. The point is there is no possibility to overcome qsynth 2.0 threshold. I would love to see some command line argument to bump this gain above qsynth limit. It very disproportionate in comparison to fluidsynth max limit. I see no point in cutting down cmd argument value which user specifically opting.
Then, it is confirmed that this is not a specific issue of qsynth for Windows. All qsynth versions share the same limits.
As a workaround, you may use the command line program fluidsynth.exe
installed at the same directory of qsynth for Windows.
I don't tested other platforms, just installed on Windows and started wondered about why my command line gain option got ignored with higher settings. I tested many fluidsynth wrappers on Android and gain limit never was an issue. I just trying to poke you to consider implementing quick workaround.
I'm the guy who build and package qsynth for Windows, and just wanted to check if your problem was exclusively for the Windows version or not. You put "Windows" in the title, and this probably made @rncbc to ignore the issue (and trigger my attention).
On the other hand, I agree that there is an inconsistency between the gain ranges in fluidsynth and qsynth. And not only that, but also between qsynth and its minimal documentation. The --help
text and the man page both say:
-g, --gain=[gain]
Set the master gain [0 < gain < 10, default = 0.2]
The upper limit in the UI is 2.00, and the default is 1.00, and the UI limits are applied also to the command line arguments. Perhaps something should be updated.
command line gain option (-g, --gain
) is indeed subject to the (so called) UI limits; it is the --help
or man hints that are incorrect : it should have been:
-g, --gain=[gain]
Set the master gain [0 < gain < 2, default = 1]
I know that 2.0 has been the upper limit in qsynth's gain for a long, long time, but: why?
as long as +18years ago; why? i don't remember :)
I think that it was this commit: 101e6bc on Jul 14, 2004, "only" 17 years and 6 months ago. :birthday:
By command line --gain, --option (synth.gain=) or by change registry key. It always working as 0.2 maximum. I can go lower, but cannot exceed UI limit. Doing by "--option" the change is visible in settings, but I cannot hear the difference.
Version: qsynth-0.9.5-49.2 Platform Windows 10 x64