PulseEffects: A Nice System-Wide PulseAudio Equalizer / Audio Effects App


A system-wide equalizer can be useful in situations where an application doesn't have its own equalizer, like Spotify on desktops, for websites like YouTube or Soundcloud, games, and so on.

With PulseEffects, a Gtk+ application, you get not only an advanced, 30-band system-wide equalizer for Linux, but effects as well, like auto volume, compressor, reverberation, stereo enhancer, limiter and many others.

PulseEffects requires PulseAudio (default in Ubuntu and many other Linux distributions) and it allows applying system-wide effects to all running applications or individually, to selected apps. The enhancements can be applied to both applications output as well as microphone output.

PulseEffects system-wide PulseAudio equalizer
PulseEffects can be enabled on a per-application basis

While PulseEffects allows enhancing your sound in multiple ways, it lacks in one department: presets. There are no presets available by default so you'll either have to create your own presets, or import some community-made ones. Update: PulseEffects now ships with (Gstreamer) presets by default, so you don't have to install your own presets.

PulseEffects system-wide PulseAudio equalizer
Community presets

For a few community presets and how to install PulseEffects presets, see this page. Pay attention to the installation folder - it's different depending how how you've installed the application (Flatpak, PPA / Aur, etc.)

Effects applied by PulseEffects to applications output:
  • Input Limiter (LV2 Limiter from Calf Studio)
  • Auto Volume
  • Compressor (LV2 Compressor from Calf Studio)
  • Butterworth Highpass filter (Gstreamer audiocheblimit)
  • Butterworth Lowpass filter (Gstreamer audiocheblimit)
  • 30 Bands Parametric Equalizer (Gstreamer)
  • Bass Enhancer (LV2 Bass Enhancer from Calf Studio)
  • Exciter (LV2 Exciter from Calf Studio)
  • Stereo Enhancer (LV2 Stereo Enhancer from Calf Studio)
  • Stereo Panorama (Gstreamer)
  • Stereo Spread (LV2 MultiSpread from Calf Studio)
  • Freeverb (Gstreamer)
  • Crossfeed (Bs2b library)
  • Delay Compensator(LV2 Delay Compensator from Linux Studio Plugins)
  • Maximizer (Ladspa Maximizer from ZamAudio)
  • Output Limiter (LV2 Limiter from Calf Studio)
  • Spectrum Analyzer (Gstreamer)

Effects applied by PulseEffects to microphone output:
  • Gate (LV2 Gate from Calf Studio)
  • Webrtc (GStreamer)
  • Input Limiter (LV2 Limiter from Calf Studio)
  • Compressor (LV2 Compressor from Calf Studio)
  • Butterworth Highpass filter (Gstreamer audiocheblimit)
  • Butterworth Lowpass filter (Gstreamer audiocheblimit)
  • 30 Bands Parametric Equalizer (Gstreamer)
  • Deesser (LV2 Deesser from Calf Studio)
  • Freeverb (Gstreamer)
  • Pitch Shifting (Ladspa Pitch Shifting from Rubber Band)
  • Spectrum Analyzer (Gstreamer)

Get PulseEffects to work properly in Ubuntu or KDE

Update: if you use PulseEffects installed from the PPA, these configuration changes should not be applied (the PPA has PulseAudio 12, which can make the config change undesirable).

The fixes below were applied in the PulseAudio git, so this step won't be required with future PulseAudio versions. But until then, you must perform the tweaks below to get PulseEffects to work properly in Ubuntu or KDE.

Without these fixes, you may get no sound because the incorrect output device will be selected when enabling PulseEffects.

For Ubuntu 17.10 and newer:

You'll need to unload the module-switch-on-connect PulseAudio module. Do this for this session only (doesn't persist through reboots) by using this command:

pactl unload-module module-switch-on-connect

To make this change permanent for your user (so you don't have to run the command above each time you login), use this:

cp /etc/pulse/default.pa ~/.config/pulse
sed -i 's/load-module module-switch-on-connect/#load-module module-switch-on-connect/g' ~/.config/pulse/default.pa

For KDE:

You need to unload the module-device-manager PulseAudio module. To unload it for this session only (doesn't persist through reboots), use:

pactl unload-module module-device-manager

To make this change permanent (for your user only) in KDE, use:

echo "pactl unload-module module-device-manager > /dev/null 2>&1" >> ~/.bashrc

If you don't wish to make this change permanent, you'll need to run the pactl command mentioned above before running PulseEffects (each time).

Update: if you're getting an error similar to the following when trying to run PulseEffects (either installed from PPA or Flatpak - it was happening using both for me):

Assertion 'o' failed at ../../src/pulse/operation.c:133, function pa_operation_get_state(). Aborting.

You can fix it by resetting the PulseEffects Dconf settings, like this:

dconf reset -f /com/github/wwmm/pulseeffects

Download PulseEffects

To install PulseEffects as a Flatpak package, follow the Flatpak and FlatHub quick setup guide. Then search for PulseEffects in Ubuntu/Gnome Software and install it from there, or you can install it using this command:

flatpak install flathub com.github.wwmm.pulseeffects

If you install PulseEffects from Flathub and want to get the application to use your current GTK theme, see this: How To Get Flatpak Apps To Use The Correct Gtk Theme.

Update: PulseEffects now also has an Ubuntu PPA (for Ubuntu 18.04 and 18.10). The PPA has a newer PulseAudio version (because PulseEffects recommends PulseAudio >= 12) so keep this in mind before adding the PPA. Upgrading system packages may cause issues! If you can, I'd recommend using the Flatpak version of PulseEffects instead.

You can add the PPA in Ubuntu 18.10 and Ubuntu 18.04, as well as Ubuntu 18.04-based Linux distributions such as Linux Mint 19, elementary OS 5.0 Juno, and so on, and install PulseEffects, by using these commands:

sudo add-apt-repository ppa:mikhailnov/pulseeffects
sudo apt update
sudo apt install pulseeffects pulseaudio --install-recommends