the loss of quality from transcoding lossy to lossy is usually a lot worse than the difference in quality between codecs and bitrates (within reason).
ffmpeg and a makefile with a pattern rule is pretty reasonable; (substutite any make-replacement if you prefer). If you are doing AAC, make sure you use the Fraunhofer FDK AAC not the builtin one (the builtin one used to be terrible, but is now somewhere between "okay" and "pretty good" but the FDK is still considered better last I checked, and your distro may not have an up-to-date ffmpeg).
ffmpeg is pretty good about preserving metadata.
If you want ID3v1 tags for MP3 (only needed for older players), then pass -write_id3v1; there's little downside to putting the id3v1 tag on there as it's quite small.
Links for basic ffmpeg encoding; it shows with .wav input but ffmpeg can read flac just fine and should preserve tags: 1,2
For Ogg output, oggenc can read flac directly and preserve tags, so I've never tried using ffmpeg.
I however, ripped my CD collection to a single flac per disc plus a TOC, and abcde will automate that, including a musicbrainz or CDDB lookup for tagging.
Converting etc. I do exclusively on my Linux desktop, so can't help you there.
Your format of choice should be dictated by your mobile platform - if you use iOS device or simply like iTunes, go for ALAC. Any decent player will handle FLAC and ALAC, but Apple requires ALAC. If Apple isn‘t a concern for you, there‘s no reason to use anything but FLAC.
Personally, I use ALAC since I use iOS. So far there haven‘t been any downsides.
Absolutely, but it's an extra step that to me brings little practical benefit, since FLAC is already the source format & is more widely used practically everywhere outside Apple's ecosystem.
> Your format of choice should be dictated by your mobile platform - if you use iOS device or simply like iTunes, go for ALAC. Any decent player will handle FLAC and ALAC, but Apple requires ALAC. If Apple isn‘t a concern for you, there‘s no reason to use anything but FLAC.
I use iOS as my smartphone platform for now, (waiting for the Librem 5), but Linux on the desktop, so that's why I prefer FLAC. It's worth noting however that iOS itself does support FLACs perfectly well, just iTunes doesn't, (I prefer not to deal with iTunes at all, so not a concern for me), but if you use something like Airsonic, you're set.
I do have a set of AirPlay speakers however, since I wanted something wireless, but still lossless, which kind of means AirPlay is the only option & that does transcode my FLACs to ALAC on the fly, so there's definitely an area where I use ALAC, even if indirectly.
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. :-)
Over the years I've ripped my CDs maybe 4 or 5 times. I used to have a PowerBook G4 and an early iPod, so I ripped to M4A/AAC. Nothing else played that, so then I went MP3 with storage limitations of the day dictating bitrate. Now, I just want to rip to FLAC and never deal with that again.
On Mac, XLD is great for ripping and transcoding, but I'm not sure what's the hot favourite for playback these days.
I keep the Flac around in case sometime in the future I want to change formats for whatever reason.
I still have Spotify for the times I want to listen to something I don't own or want to listen to one specific song without drilling down multiple menus to find it.