New (many topics) audio filtering

I've.. Got many problems I'm trying to tackle being new to Linux (Roughly <24 hours experience yet.. lol) but I suppose I should keep this to one topic? -- Audio filtering. It seems Zorin does not natively support this and I did forget that my mic basically needs echo cancellation and noise cancellation, otherwise it sounds like hot garbage. (Something Realtek took care of in Windows 10.) Now I hear Easy Effects is the way to go. Well, I did allot of work to try and get that installed, using mostly the terminal, until I realised the app store (thing) had Easy Effects right there; so now I have that successfully installed, but it's not picking up any app or devices, even though Zorin has the devices showing perfectly. So, I'm wondering if (and I very much imagine) I screwed it up somewhere between the excessive install attempts, library attempts, and, yes, GPT. (I'll post a link but, I'm sorry, it's lots and LOTS of logs because it's mixed with other stuff too.)

So, Easy Effects wasn't the first thing I tried (new to Linux) and neither was it with GPT. (But if there's another audio filtering engine then sure I'll use that. Whichever works!) While my day (this week) has been very busy leaving me barely time to get to everything, roughly my process with Easy Effects today has been along the lines of asking Chat-GPT for links to download from the apt page / github and similar, because I'm not yet familiar with how to just search packages and install on my own yet. (The horror, I know.) There were a few times I looked up something on Google but, sorry, I defaulted back to GPT. A few of the libraries I had to find alternate ways to download and install and also had problems installing them, so I can very much imagine yet more problems caused simply from that. At any rate, the most trouble I had I think was EasyEffects -> rnnoise -> libsigc++-3 -> libsigc++-3.0.7, each having to have their own dependency, download, remove folder, reinstall, etc. process. In the end, I think trying to install EasyEffects via terminal had me stop at not being able to find desktop file util, libportal-gtk4-dev, and EasyEffect itself outputting some error at line 838 of plugins_box.cpp from easyeffect's ./src/ file. I did not remove any of these files or directories when I later discovered Easy Effect's app page and found it to just work there.

GPT log: https://chat.openai.com/share/96537f52-a5ee-447b-bd25-d2bf4e02334c The start is related to random topics in Gamemaker Studio and AIDungeon or other similar things, and only when I start with Linux and GPT starts at 5% of the way in and further. (Way more than I thought.) I believe it goes itch.io -> ADoM -> and the rest of the 94% ish is Easy Effects. (Sorry, to anyone/everyone who reads it all.)

I believe I'm on Zorin 17.1 core 64-bit, "windowing system" X11; I have a MSI MAG H410 Infinite_MS-B915 motherboard, 32 GB RAM, Intel Core i5-10400F CPU, and NVIDIA GeForce GTX 1650 SUPER for my GPU. The current version I have is 550.54.13 (Proprietary thing) CUDA Version 12.4. (If I'm missing something, please let me know and, being new, how?? Sorry.) The packages I've manually installed/modified (Thanks in part a command line I found online and GPT helping me to modify it for legibility) details this:

Installed packages:
apt install: libsdl2-image-2.0-0
   libc6
   libjpeg8
   libpng16-16
   libsdl2-2.0-0
   libtiff6
   libwebp7
apt install: libluajit-5.1-2
   libluajit-5.1-common
   libc6
   libgcc-s1
apt install: libsdl2-mixer-2.0-0
   libc6
   libflac12
   libfluidsynth3
   libmodplug1
   libmpg123-0
   libopusfile0
   libsdl2-2.0-0
   libvorbisfile3
apt install: libsdl2-net-2.0-0
   libc6
   libsdl2-2.0-0
apt install: libncurses5
   libtinfo5
   libc6
apt install: libsdl2-ttf-2.0-0
   libc6
   libfreetype6
   libharfbuzz0b
   libsdl2-2.0-0
apt install: libsndio7.0
   libasound2
   libbsd0
   libc6
apt remove:  libsndio7.0
apt install: libsndio6.1
   libasound2
   libbsd0
   libc6
apt install: libwebp6
   libc6
apt install: libfluidsynth1
   libasound2
   libc6
   libglib2.0-0
 | libjack-jackd2-0
   <libjack-0.125>
   libpulse0
   libreadline7
   libsndfile1
apt install: libmad0
   libc6
apt install: xbindkeys
   guile-3.0-libs
   libc6
   libx11-6
apt install: openrazer-meta
   openrazer-driver-dkms
   openrazer-daemon
   python3-openrazer
apt install: debhelper dh-python linux-headers-generic python3-setuptools lsb-release dkms
E: No packages found
apt remove:  xbindkeys
apt purge: xbindkeys
apt install: git
   libc6
   libcurl3-gnutls
   libexpat1
   libpcre2-8-0
   zlib1g
   perl
   liberror-perl
   git-man
   git-man
apt install: meson
   <python3:any>
   ninja-build
   python3-pkg-resources
   python3-setuptools
apt install: build-essential
 | libc6-dev
   <libc-dev>
   gcc
   g++
   make
   dpkg-dev
apt install: libglib2.0-dev
   libffi-dev
   libglib2.0-0
   libglib2.0-bin
   libglib2.0-dev-bin
   libmount-dev
   libpcre2-dev
   libselinux1-dev
   pkg-config
   zlib1g-dev
apt install: itstool
   python3
   python3-libxml2
apt install: ladspa-sdk
   libc6
   libsndfile1
   libstdc++6
apt install: libzita-convolver-dev
   libfftw3-dev
   libzita-convolver4
apt install: cmake libtbb-dev
E: No packages found
apt install: libpipewire-0.3-dev
   libpipewire-0.3-0
   libspa-0.2-dev
apt install: libgtk-4-dev
   gir1.2-gtk-4.0
   libcairo2-dev
   libegl1-mesa-dev
   libepoxy-dev
   libfontconfig-dev
   libgdk-pixbuf-2.0-dev
   libglib2.0-dev
   libgraphene-1.0-dev
   libpango1.0-dev
   libwayland-dev
   libx11-dev
   libxcomposite-dev
   libxcursor-dev
   libxdamage-dev
   libxext-dev
   libxfixes-dev
   libxi-dev
   libxinerama-dev
   libxkbcommon-dev
   libxrandr-dev
   libvulkan-dev
   pkg-config
   wayland-protocols
   libgtk-4-common
   libgtk-4-1
apt install: libadwaita-1-dev
   gir1.2-adw-1
   libadwaita-1-0
   libgtk-4-dev
apt install: mm-common
 | automake
   <automaken>
   libtool
   pkg-config
apt install: docbook-xsl
   xml-core
apt install: liblilv-dev
   liblilv-0-0
   libserd-dev
   libsord-dev
   libsratom-dev
   lv2-dev
apt install: libbs2b-dev
   libbs2b0
apt install: libsndfile1-dev
   libflac-dev
   libmpg123-dev
   libopus-dev
   libsndfile1
   libvorbis-dev
   libc6
   libgcc-s1
   libstdc++6
apt install: libebur128-dev
   libebur128-1
apt install: libsamplerate0-dev
   libsamplerate0
   pkg-config
apt install: libsoundtouch-dev
   libsoundtouch1
apt install: libspeexdsp-dev
   libspeexdsp1
apt install: nlohmann-json3-dev
apt install: libfmt-dev
   libfmt9
apt install: libgsl-dev
   libgsl27
   libgslcblas0
apt install: libportal-gtk4-dev
   gir1.2-xdpgtk4-1.0
   libglib2.0-dev
   libgtk-4-dev
   libportal-dev
   libportal-gtk4-1
   pkg-config

[Removed irrelevant help topics. Sorry for that, weird "don't spam" mindset.]

It can be a lot easier to keep topics separate to prevent confusion and cross-referencing.
You can create new threads for each issue and this can keep everything organized and easier to follow.

For your first issue:

ChatGPT can be a helpful tool, but it cannot be considered reliable enough to trust with terminal commands. It consolidates information and can give outdated information while sounding very confident.

The app store contains multiple package formats. You can check the source of a package you have installed by going to its page and then clicking the source button on the top titlebar or by scrolling to the bottom of the page.
The sources of Flatpak and Snap are alternative sandboxed formats and they can be isolated from the system, restricting its access to essential system files.
Please check if your audio filter is installed as a Snap or a Flatpak.

Looks like I've got a Flathub installed. There is an option to install an apt too, so I'll give uninstalling a try and do the apt (and then hope it just installs everything properly anyway. lol)

  1. I have deleted (or uninstalled?) Easy Effects from the app page. (Keeping the config files I guess?)
  2. I deleted the folders easyeffects, rnnoise, and libsigc++-3.0.7 from ~/home.
  3. I have clicked to install Easy Effects (via app store thing) as an apt.

Easy Effects has launched again, but it still has no way to select apps or input/output devices. (I mean, the interface is there, it just doesn't populate any lists at all.) So, about the same as how it was before.

edit: Just for context; here's a couple screenshots regarding what I see:



I don't know how to operate Easy Effects yet, if I should have some devices or if I need to add them in some way, to which I cannot find out how to do so.

From this, I think we can discount the possibility that containerization is causing Easy Effects to be unable to access system files that are necessary.
That being the case, you can choose which package format you prefer.

I have never used Easy Effects. This means I am not very familiar with how to use it, either.
I did do some net searches and found some interesting things:

That thread suggests that Easy Effects prefers PipeWire over Pulseaudio. Now, as an End User, I can certainly understand this. But from the over-all picture, it does seem a bit odd to me.
Either way, it suggests installing pipewire-pulse.

Installing it requires installing Pipewire so the logical approach is to just do that.
Zorin OS 17:

Zorin OS 16:

Sorry for the delay. I was already in voice chat and didn't want to disturb Discord, followed by my local time zone bed time. It basically worked!
The How to Use PipeWire to Replace PulseAudio link is the one I used and it worked. (I didn't notice right away 'cause I had to restart and that was in the form of shut down -> sleep -> I forgot in the morning. lol) For anyone else, this did change some of my audio settings, BUT Easy Effects was now properly recognising applications and microphones. (At least I think for the microphone..) So for terms of just Easy Effects, solved! (Thanks @Aravisian!)

I do still have a problem with Easy Effects not being able to use Noise Reduction because it can't find RNNoise. (Sorry if this is off topic now? I'd otherwise be happy to mark Aravisian's post as the solution.)
It tells me this:

Noise Reduction Not Available
The Noise Reduction effect was disabled when Easy Effects was compiled. This is perhaps since the software required for this effect, "RNNoise," was not available. Consider using the Easy Effects Flatpak package or building your own Easy Effects package.

Sorry. :confused: -- I'm unsure if I'll have to reinstall Easy Effects after "properly installing "RNNoise" or not, otherwise I have it downloaded via Github (It's not on the software list or apt search) and built on my ~/home/rnnoise directory along with the autogen.sh->configure->sudo make install commands, so I don't know if this location is bad practice and if I should move it or otherwise tell EasyEffects (I don't know how..) Where to find it?

I suppose while I'm at it, I should ask, is there a general documentation/guide/crash course for Linux I should be looking into? As tedious as all this tends to feel, I genuinely enjoy playing around in the terminal commands. lol, but I also don't want to be a bother.

This question is asked from time to time and there are many resources out there.
In my experience, this best teacher is getting in and doing. Reading some words and looking at a book are fine things, but practice makes perfect.

I think that the reason for this is that reading words that someone else wrote is not as captivating as being interested in and doing a project, sink or swim.
I highly recommend always backing up person files and data before going for a swim, though.
With actual installation attempts, removals, configuration, it actually teaches us. And you get that, "it worked. I did it!" response.

According to another user, Flatpak is supposed to include it compiled:

You can peruse the other comments in that thread and choose what route best suits you. If it was me... I would probably seize the opportunity to use the learning experience while avoiding flatpak.
But...
You might not want that much hassle of reinstalling the sound and EasyEffects and it can give you a chance to try out Flatpak and reach your own conclusions.

That's fair, I was just hoping for something to learn the basic commands. Like, apt --help is great, but unless I already know of apt, --help won't help kind of thing. lol (This is where, I hate to say it, GPT was of great help to some extent. T_T)

Just a quick heads up through my process here, Easy effects seems to be retaining information despite attempting to initiate an apt purge etc. (I'm not sure how to make sure it's gone or not. lol) But that means the memory is still there and showing properly with the GUI still? So.. :+1: still.
I've tried a few times with the apt terminal to remove/purge and reinstall Easy Effects in an attempt to get it to recognise RNNoise so far.
I have also moved the RNNoise from ~/rnnoise folder with a fresh install from xiph's github under /usr/local/lib/rnnoise and even confirmed that the libraries exist, though mine has an extra entry than the forum post?

-rwxr-xr-x  1 root root     963 Apr 21 13:35 librnnoise.la
lrwxrwxrwx  1 root root      19 Apr 21 13:35 librnnoise.so -> librnnoise.so.0.4.1
lrwxrwxrwx  1 root root      19 Apr 21 13:35 librnnoise.so.0 -> librnnoise.so.0.4.1
-rwxr-xr-x  1 root root 1799768 Apr 21 13:35 librnnoise.so.0.4.1
drwxr-xr-x 14 root root    4096 Apr 21 13:35 rnnoise

Continuing with the posts, I do seem to have rnnoise installed by the pkg-config thing: rnnoise rnnoise - RNN-based noise suppression shows it exists. I have since learned that "installed with flatpak" is separate from apt, and tried reinstalling Easy Effects with the flatpak commands. Success; it installed! But still not detecting RNNoise.
Finally, after restarting the system (so flatpak took over??) it actually found the old settings (weird) but it's also working and noise reduction seems to actually have an effect, too! So... Yay! I'll mark this as solved now.

For a TLDR, I'm not exactly sure what was what, but my end results I'm taking a guess at:

  • Install RNNoise (from github clone) under /usr/local/lib (Optional unless you want noise cancellation.)
  • Install Easy Effects after this and maybe also a system restart, just to make sure. (Unsure if it makes a difference between package or flatpak.)