What does HackerNews think of whipper?
Python CD-DA ripper preferring accuracy over speed
Really been loving whipper for CD encoding https://github.com/whipper-team/whipper
In addition to Exact Audio Copy (Windows only, proprietary) I was able to find some open source tools that should (haven't compared to EAC directly yet) achieve the same result.
One of the still maintained tools is [whipper](https://github.com/whipper-team/whipper). I've used it to successfully rip a few CDs, though in my case that wasn't really a challenge due to the good condition the CDs were in.
When you rip one of your CD, a good ripper shall verify that your rip is 100% bit perfect (by verifying that the hash of your rip matches an online database of hashes of CDs ripped by other people). These rippers typically do rip to FLAC.
FWIW on Linux I've had good luck with "whipper" in the past (haven't ripped any CD that recently) [1]
I mostly use 7digital & HDTracks to acquire FLACs these days, but when I rip from CDs, I use https://github.com/whipper-team/whipper to do the job.
FLACs from 7d/HDTracks are already named & tagged properly so I only deal with it occasionally and when I do, https://picard.musicbrainz.org works well for acquiring tags & artwork.
When I need to rename/tag manually, https://kid3.sourceforge.io has been working nicely.
Also I haven't used it myself, but there's a lot of positive chatter around https://github.com/beetbox/beets for tagging etc. I just prefer not to have my files touched in such an automated way :-)
I rarely actually convert from FLACs these days, since I have set up Airsonic, (https://github.com/airsonic/airsonic), on my home server. I now have access to the lossless files directly, from anywhere.
When I do convert, I usually just use https://github.com/kassoulet/soundconverter - nothing fancy, but does the job. I do not maintain my whole library in both, lossless & lossy formats since I have set up Airsonic, but when I do want to save data & do not have access to WiFi, I just let Airsonic use lame to transcode to MP3s on the fly, (rare). If you cannot do that, don't have regular access to data on the go etc. I'd honestly just use https://ecasound.seul.org/ecasound/Documentation/examples.ht... and put it in a script that checks if a .flac file in a folder or subfolder has a corresponding .mp3/.ogg file and convert if not, then just use find to filter out the format I don't want to copy over. :-)