JamesDSP for Linux is an open source Qt audio effect processor for PipeWire and PulseAudio. Use it to enhance the music you listen to by adding reverberation, bass boost and other filters using a parametric or fixed band equalizer. It also allows you to write your own audio effects using the EEL2 scripting language.
The application is designed for use with PipeWire, which the developer recommends for its lower latency when injecting audio effects, but PulseAudio is also supported (for backwards compatibility).
It was initially released as an audio effects processor for Android, and it then ported to Linux.
JamesDSP for Linux features include:
- Automatic bass boost (frequency-detecting bass-boost): automatically sets its own parameters, such as gain, bandwidth, and cut-off frequency, by analyzing the incoming audio stream
- Automatic dynamic range compressor: a highly automated multiband dynamic range adjusting effect
- Complex reverberation IIR network (Progenitor 2)
- Interpolated FIR equalizer with flexible bands
- Arbitrary response equalizer (also known as GraphicEQ from EqualizerAPO). AutoEQ database integration (requires network connection)
- Partitioned convolver (Auto segmenting convolution). Supports mono, stereo, full/true stereo (LL, LR, RL, RR) impulse response
- Crossfeed: realistic surround effects
- Soundstage wideness: a multiband stereo wideness controller
- ViPER-DDC: perform parametric equalization on audio & create VDC input files using thepbone/DDCToolbox
- Analog modeling: an aliasing-free even harmonic generator
- Output limiter
The application also comes with a scripting engine that allows you to write your own audio effects using the EEL2 scripting language. JamesDSP even automatically generates a basic user interface for your scripts which allows modifying parameters.
To edit the scripts, JamesDSP comes with a minimal scripting IDE with console output support, detailed error messages, syntax highlighting, and more.
Besides this, JamesDSP for Linux also comes with global presets that you load and save, a tray icon, and more.
The application had a major release (2.0) over the weekend, which adds PipeWire support, UI updates, and more. There’s no official change log so there might be something I missed, check out the commit log for details.
You might also like: NoiseTorch Is A Real-Time Microphone Noise Suppression Application For Linux
Getting started with JamesDSP
When you first run JamesDSP, its setup wizard is displayed, allowing you to choose the output device, set if the app should shutdown when closed or stay minimized, etc.:
<img alt="JamesDSP onboarding Linux" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/09/echo/jamesdsp-for-linux-onboarding.png613f2d3d51b3a.jpg" data-original-height="521" data-original-width="784" ezimgfmt="rs rscb272 src ng ngcb272" height="426" src="data:image/svg xml,” title=”JamesDSP onboarding Linux” width=”640″>
In case you later want to change some settings presented in this setup wizard, you can do so from the application settings (cog icon in the bottom left-hand side of the JamesDSP for Linux window).
Once that’s done, you can start applying some effects to your computer’s audio output. For example, go to the Equalizer tab, click Enable EQ, and select an equalizer preset:
<img alt="JamesDSP Linux equalizer" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/09/echo/jamesdsp-for-linux-equalizer.png613f2d3e7da4a.jpg" data-original-height="557" data-original-width="822" ezimgfmt="rs rscb272 src ng ngcb272" height="434" src="data:image/svg xml,” title=”JamesDSP Linux equalizer” width=”640″>
If you can’t hear a difference with and without a preset, make sure your audio output device is set to JamesDSP Sink in System Settings (sometimes it’s not set automatically), e.g. in GNOME:
<img alt="JamesDSP system sound settings" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/09/echo/jamesdsp-sound-settings.png613f2d3f610be.jpg" data-original-height="638" data-original-width="1036" ezimgfmt="rs rscb272 src ng ngcb272" height="394" src="data:image/svg xml,” title=”JamesDSP system sound settings” width=”640″>
You might also find useful: Fix No Sound (Dummy Output) Issue In Ubuntu With SND HDA Intel
You might be wondering how JamesDSP compares to EasyEffects (previously PulseEffects), another audio effect processor application for Linux. The most obvious difference is that JamesDSP works with both PulseAudio and PipeWire, while EasyEffects only supports PipeWire (you must install an older version of EasyEffects from the time it was called PulseEffects if you want to use it with PulseAudio).
Besides that, EasyEffects comes with more effects, although there are some effects available in JamesDSP that aren’t available with EasyEffects, such as soundstage wideness, a multiband stereo wideness controller, or ViPER-DDC which allows you to perform parametric equalization on audio. And EasyEffects allows applying audio effects to both sound input and output, while JamesDSP is for output only. On the other hand, JamesDSP has a simpler user interface, and it comes with a scripting engine that’s not available in EasyEffects.
So while these 2 applications have many things in common, there are also some differences, so use the one that best fits your needs.
Download JamesDSP for Linux
Before installing JamesDSP for Linux, check if you’re using PipeWire or PulseAudio as described here. Then you can install JamesDSP for Linux (for either PipeWire or PulseAudio) from a repository (Debian / Ubuntu), AUR (Arch Linux / Manjaro), or build it from source.
You might like: Hushboard Mutes Your Microphone While Typing