Replace Amplifier (Mono) and Amplifier (Stereo) with native Amplifier
There's no good reason to have four separate amplifier effects built into LMMS. It's confusing to new users, contributes to our un-browseable number of effects plugins, and takes time to pick the specific amplifier that you want.
From what I can tell:
- Amplifier (Mono) is equivalent to turning the volume knob in our native amplifier, with the exception that it ranges [0, 10] instead of [0%, 200%]
- Amplifier (Stereo) is equivalent to turning the left and right knobs in our native amplifier, once again with the exception of range
- Simple Amplifier has left and right channel knobs that can be linked (or not), but it's amplification is selected in dB rather than a percentage/multiplier. I think this should eventually be merged into the native plugin as well, but it might take more work than the above two?
So the solution I propose is:
- Increase the native amplifier's range in some manner
- Increase knob ranges to [0%, %1000] or
- Add a "multiply" knob ranging [0, 10]
- Upgrade native amplifier instances in projects
- Divide knob positions by 5 (excepting pan) or
- Make multiply knob default to 1
- Replace Amplifier (Mono) instances with Amplifier instances with an adjusted volume knob
- Replace Amplifier (Stereo) instances with Amplifier instances with adjusted left and right knobs
- Remove Amplifier (Mono) and Amplifier (Stereo) from the effects list
One potential downside to this is that the Amplifier (Stereo) may be better suited to >2 channels than the native Amplifier is. However, since LMMS lacks support for >2 channels at the moment (AFAIK), I don't think this is a big deal. I would assume that making the native Amplifier support more channels is a negligible task compared to other work required for surround support.
Bumping this due to:
Increase the native amplifier's range in some manner
- Increase knob ranges to [0%, %1000] or
- Add a "multiply" knob ranging [0, 10]
Upgrade native amplifier instances in projects
The 200% gain boost from the native plugin is really lacking in some places. Hell, may I suggest an arbitrary value input so the range is completely dependent on the user without knob constraint?
Here's the current state with regards to the different amplifiers:
From left to right it's:
- LMMS' built-in amplifier
- LADSPA Amplifier (Mono)
- LADSPA Amplifier (Stereo)
As you can see in the effect bay and in the title bar they are all called simply "Amplifier". This can be confusing if they are mixed.
Personally I also find it confusing that the Mono amplifier let's you amplify the channels of a stereo signal independently whereas the one that's called "Stereo" will let you only set one amplification (which I guess is applied to the stereo signal). I guess this is caused by the way in which LMMS handles mono and stereo LADSPA plugins.
Proposal for a tool/utility plugin
I propose to introduce an internal plugin that let's users manipulate the signal in certain ways. In Bitwig this plugin is called "Tool" and I think in Ableton it is called "Utility". Here's how it looks in Bitwig:
It provides the following functionality:
- L-: Inverts the polarity of the left channel
- R-: Inverts the polarity of the right channel
- Swap L/R: Swaps the left and right channel
- Volume: Amplifies the signal between -inf dB and +18.1 dB. This control allows you to completely shut off the signal.
- Gain: Adds additional gain between -36 dB and 36 dB
- Pan: Pans the signal in the stereo field
- Width: I guess this is some mid-side effect. 100 % is neutral. 0 % will likely collapse the signal to mono and 200% might only keep the side channel.
The 200% gain boost from the native plugin is really lacking in some places. Hell, may I suggest an arbitrary value input so the range is completely dependent on the user without knob constraint?
I vote against letting users enter arbitrary values because accidentally entering large values might wreck the users hardware and/or ears.
If the users want insane amplifications for some reasons they should simply chain two or more amplification plugins. Two chained instances of Bitwig's "Tool" plugins which is shown above will provide a maximum of 108,2 dB amplification. This will amplify the noise floor of a typical audio interface enough to make the master channel clip.