Hacker News new | past | comments | ask | show | jobs | submit login
Easy Effects: Audio effects for PipeWire applications (github.com/wwmm)
164 points by marcodiego on May 28, 2023 | hide | past | favorite | 40 comments



I use EasyEffects constantly (and have since it was called PulseEffects) to compress and limit the dynamic range of what comes out my speakers.

So much content is made with low voices and incredibly loud effects, and if I turn it up to where I can understand the speech, everything else just blasts me. But with a compressor and limiter in the chain, I can turn it up as much as I need, and the loud moments are simply not that loud.

Lack of this capability on my phone is the main reason I don't consume videos or streams there -- the audio engineering is just beyond terrible. For the moment, desktop is the only place I have the tools to fix it, so desktop is where I listen.


Android does support audio effects [1]. You cannot create new ones, but the built-in ones are very broad. For example, the DynamicProcessing effect can be configured for your loudness compression use case. Note that you will have to attach your effect to the global session, which was deprecated more than a decade ago but support has never been removed as there are no alternatives for global audio effects.

[1]: https://developer.android.com/reference/android/media/audiof...


I'm constantly fiddling with the volume when listening to extremely dynamic classical music. Not at all what the composer intended.

My high school biology teacher likes to tell the story of a King Crimson album -- Lark's Tongue in Aspic, I think -- that he and his friends listened to for the first time in the 70s that's quiet for such a long time that you don't realize it, so you've probably turned up the volume really high when it suddenly blasts you. He says he fell over in his chair and loved it. That sounds awful to me.


I also like the "Dynamic Gain" effect. Used this to great effect recently in a conf call, with multiple people sharing a microphone. Without it, it was barely possible to make out the words of some speakers. With it, it was passable, except when it went under the cutoff level of the transmitter.


I recently switched form pulse to pipewire specifically in order to use easy effects. I have to say the results are incredible. It's almost too distracting to listen music now since there is greater resolution of sound. I loved the custom community presets and the per-device profile. Fantastic so far. Thanks


Can you explain what you mean by "greater resolution of sound"? Which effect(s) are you using?


It always depends on your preference and music type.

I listen to electronic music with a 250 ohm DT990 on a Dell soundbar using cystalizer, bass boost and bass enhancer. IIRC the order matters.

Prior to this I let my amp handle this but I kicked it out because of 35W standby and Easy Effects doesn't work with it on an HDMI connection - constant signal cutoffs for 3s (Linux issue). Without Easy Effects the soundbar sounds awful to me. Still impressed that it drives 250 ohms this well.


Yes, the order matters! It applies them in order, one after the other, so you either enhance the boosted bass, or boost the enhanced bass, if you will.


Have you tried looking up Oratory1990 profiles for your headphones? 10/10 would recommend.


Using this to equalise my headphones with the parameter sets on https://github.com/jaakkopasanen/AutoEq. Highly recommended!


Easyeffect is a great application, but the UI was significantly worsened with the change from Pulseeffects. Especially the management of the effect chain. It has bad feedback when using drag and drop, and a sungle wrong click on remove (next to the similar deactivate) removes the effect and any settins are lost.

In arch I have issues with missing icons (that no othe gtk3/4 app has on my systems).

I also find the layout pretty no responsive as even on 1920x1080 widgets don't fit.

None of these issues occurred with Pulseeffects.


Are you still using easyeffect? It has improved A LOT since the first port of PipeWire. And as mentioned, the author is pretty responsive on reported issues.


Have you tried reporting your issues on Github? In my experience the maintainers are responsive to these problems and really care.


Is there a box you can plug an xlr mic into, and have it apply effects like this and output a usable signal? I'd like to move towards a real mic, but setting up filters on each of my work machine, home machine and phone sounds really annoying.

Is this something an rpi would be good for? Is there a writeup somewhere of how to do something similar?


> Is there a box you can plug an xlr mic into, and have it apply effects like this and output a usable signal? I'd like to move towards a real mic, but setting up filters on each of my work machine, home machine and phone sounds really annoying.

Yes but you won't like the prices xD


An RPI with a soundcard, a DAW and possibly some plugins can do that. Daws that work on a raspberry pi:

- Ardour

- Reaper

- Renoise

- Tracktion Waveform

- that easyfilter tool

If you don't need stereo there are some multieffects box/pedals for guitars and synths:

https://www.boss.info/uk/categories/multi-effects/

https://www.zoom-europe.com/en/multi-effects

There are also warming/effects units such as the Oto Boum or the Elektron Heat range:

https://www.otomachines.com/product/boum/

https://www.elektron.se/us/analog-heat-mkii-explorer

https://www.elektron.se/us/analog-heat-fx-explorer

And most mixer/audio interfaces have some effects/filters:

https://uk.yamaha.com/en/products/proaudio/mixers/mg_series_...

https://tascam.com/us/product/model_16/top


The box is called an "audio processor", but in my usage, all I care about is a compressor/limiter. For a mic, probably also a gate. You can get those functions pretty affordably, here's an example I found with a quick search:

https://www.sweetwater.com/store/detail/MDX2600--behringer-c...

This isn't really my field of expertise so I can't recommend specific gear. I suspect you could do it with a PC/SBC but latency would be a concern.


I like Schiit audio products. You'd probably need a DAC and an amp of some sort.

DAC ($249) https://www.schiit.com/products/modius

Headphone amp ($199) https://www.schiit.com/products/magnius

(Upon rereading the parent comment I probably misunderstood the question)


Presonus revelator io44/io24. You have built in dsp so the effects (noise gate, compressor, eq, and limiter) run on the box. And you can save your final effects chain as a preset so next time you plug it in they should just work. An alternative is the elgato wave xlr which lets you install your own effects but your audio chain is a little less portable.



There's a ton of effects pedals that do that. If you're a DIY type the Pedal-Pi[1] is a nice afternoon project. It comes with a default effects set but you're free to put Puredata, Cabbage, whatever LV2s you want, etc. on it

[1] https://www.electrosmash.com/pedal-pi


You might want to buy a programmable audio DSP board. Achieving low latency on generic hardware can be tricky.


If you don't mind something on the expensive side, it is what the Universal Audio Apollo line does: https://www.uaudio.com/audio-interfaces/apollo-solo.html

Personally I use the cheaper Volt line and Easy Effects for meetings and it works very well but I only have a single machine.

There is also the possibility of using analog effects between the mic and the interface. For voice you realistically only need an EQ and a compressor but that can turn into a deep rabbit hole.


Opened kickstarter to see if there is anything like this, and there is a campaign running right now https://www.kickstarter.com/projects/menura-audio/mdmx-world...


RME makes terrific audio interfaces with onboard DSP. Like the Apollo systems below, they are not cheap. (I've used both).


I've been using Easy Effects for a long time. I almost exclusively use the "Noise Reduction" filter which is based on Xiph RNNoise. It is absolutely fantastic at removing my keyboard and other background noise from my microphone. And the UI is so easy that it is trivial to click it off if I want to record something raw and do the processing later. There are also compressors which can be useful and pitch changers which can be fun.

I have it set to start up automatically and I forget that it is even running. I've donated in the past but I think I'm due for another round. The developer is super friendly and helpful in the issue tracker (although I haven't been there for probably a year now as it has been rock-solid recently after the PulseAudio to PipeWire transition bugs have been hammered out)


EasyEffects is great until it stops playing anything after a while and I just have to pkill it. AutoEQ is essential to me nowadays.


I have used AutoEQ with Easy Effects for 2 years now, and it's never crashed on me.


Very excited about this, because one of my favorite ways to "doodle" during a Zoom call is to fiddle with compressors and EQs and see if I can make everyone sound better. Switched to Linux as my daily driver from Mac a few months ago, and haven't done as much in this area. ;)


Very useful program, but god the UI is so bad..

As if it was designed for a touchscreen interface, and yet still poorly done, doesn't respect your aspect ratio, wastes ton of empty space, everything looks zoomed in, and the transition animation looks jarring

Gnome UX is killing the linux fun to me..

They want to clone the macOS UX, but they don't understand what makes it great..

Look at this beauty of an UX: https://eqmac.app/


I love easy effects! I have a crappy webcam/mic combo, and the noise reduction filter is very performant, the people I'm speaking to are really grateful about it


Is it possible to redirect audio to multiple connected output devices on Linux? For example, multiple headphones.


Yes, but that use case is a different setup for each person who wants something like it. The typical case of one person with a speaker and headset attached is common enough that some heuristics can make the right thing happen for most people all the time.

You need a program that can setup the output graph manually. These are aimed at the home recording studio market as they are the majority of users for that type of thing.


Yes, trivially. Or other things. I even route the output of Spotify into Google meet as my microphone for meeting I tro/hold music, though watch out for noise canceling algos :)

Example - https://kx.studio/Applications:Catia


The example referenced the it's Catia, but qpwgraph https://gitlab.freedesktop.org/rncbc/qpwgraph and helvum https://gitlab.freedesktop.org/pipewire/helvum should do a good job too. Either way, it's easy to achieve multiple outputs with any of those.


Better documentation means more users, less support requests, and more contributors. (…) Remember that your readers aren’t you. There are people who might come to a project who hav


Precisely. First when I wanted to try this, there is absolutely no documentation other than links to community presets. Even till today getting Noise Reduction correctly working is trivial without proper documentation.

History about it: https://fedoramagazine.org/helvum-and-easyeffects-two-great-...

https://fedoramagazine.org/tune-up-your-sound-with-pulseeffe...


I till now haven't figured out how to setup noise reduction in PipeWire. In Pulse, it was very easy. At the present, I'm using https://github.com/noisetorch/NoiseTorch.

(I do like PipeWire)


This is one of the use-cases of EasyEffects, and one of the motivations behind my switch to pipewire. Select input or output, switch to the effects tab, and add the noise reduction effect.


Is this a general comment meant to apply to anything or are you specifically talking about Easy Effects here?

It has installation instructions in the README, links to a wiki page with more information (https://github.com/wwmm/easyeffects/wiki/Package-Repositorie...), the application contains full documentation under the "Help" item in the menu (as many applications do) and they also have the same documentation online (https://wwmm.github.io/easyeffects/).

Not sure what more you could ask for?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: