lmms icon indicating copy to clipboard operation
lmms copied to clipboard

Replace Amplifier (Mono) and Amplifier (Stereo) with native Amplifier

Open Spekular opened this issue 5 years ago • 1 comments

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.

Spekular avatar Jul 27 '20 10:07 Spekular

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?

headquarter8302 avatar Jun 14 '25 13:06 headquarter8302

Here's the current state with regards to the different amplifiers:

Image

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:

Image

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.

michaelgregorius avatar Jun 18 '25 16:06 michaelgregorius

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.

michaelgregorius avatar Jun 18 '25 16:06 michaelgregorius