view the rest of the comments
Linux
Welcome to c/linux!
Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!
Rules:
-
Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.
-
Be respectful: Treat fellow community members with respect and courtesy.
-
Quality over quantity: Share informative and thought-provoking content.
-
No spam or self-promotion: Avoid excessive self-promotion or spamming.
-
No NSFW adult content
-
Follow general lemmy guidelines.
Pipewire has built in EQ support (no GUI, but useful once you've chosen your settings), and you can use EasyEffects for a GUI to experiment with.
Pipewire also supports complex multichannel impulse responses (including the same files that Hesuvi supports if you supply them). Both of these are a bit challenging to configure it should be said, but it's nice they they are just effectively outputs you can connect to once they are setup, and don't require a bunch of programs running at once.
Here's the official example for virtual sound with "hesuvi": https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf
I've had issues with relative paths in the past for the filenames, so try setting a full path if it doesn't work.
And here's an example for EQ (you can add more channels if you need them): https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/daemon/filter-chain/sink-eq6.conf
You can also add a preamp if your EQ needs that which is just essentially a 0.0 freq, 0 Q filter and then you set the gain that you need. I didn't need it as I'm not using external amps for any of my pipewire EQs.
One more thing I'll add is that if you want the effect to also connect to a specific output (maybe your headphone EQ goes to one output, and your speaker EQ goes to a different one) you can set
target.object=<your hardware output>
in playback.props section. There's an even better solution in wireplumber 0.5.X but I haven't tried it yet and it might not be available on your system. Read this Collabora article if you're interested.