RMSCenterPan-Plugin, an LV2 plugin intended to be used with PipeWire for centering the RMS of unevenly panned stereo audio signals.
Some audio sources are very unevenly panned (for whatever reasons, like worn out tape recordings, suboptimal microphone placement, ...), which can become particularly uncomfortable when listening to via headphones. This plugin calculates the individual RMS volume level for each channel and applies gain correction factors to the output signals in order to equalize their RMS values. The calculations use a (configurable) sliding window with a length called "time constant" to smooth out the gain factor transitions and make the panning adjust slowly.
Note: As there is no mixing between channels, the plugin cannot compensate for a
completely silent channel at all; nor can it fully compensate for a very quiet channel,
because (for sanity/safety) there is an upper cut on the gain correction factor at x10.
You can use the shipped example PipeWire drop-in configuration file
example/pipewire.conf.d/99-rmscenterpan-sink.conf
to add a virtual sink that loads this plugin. Remember to change the placeholder for target.object to
your actual desired soundcard or output sink identifier (pactl list sinks and/or lspci -tv might help).
Using the tau control port value (the "time constant") you can change the
plugin's response time between 1s and 60s, the default is 10s.
Building the project can be configured with CMake.
Obviously requires LV2.
Copyright (C) 2026 M. Frohne
Copyright (C) 2011, 2012, 2017, 2018 Jan Kokemüller
Copyright (C) 2018 audionuma
RMSCenterPan-Plugin is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
RMSCenterPan-Plugin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with RMSCenterPan-Plugin. If not, see https://www.gnu.org/licenses/.