For some years, I just used directory-organized audio files. I used emacs's emms to control the playlist, and had it set up to have mpv play audio files.
Some years back, I used at mpd for a while, but it's really oriented towards accessing audio via metadata, which wasn't really what I wanted to do: that really entails getting correct metadata on all of an audio collection.
Then recently, I ran into beets, which is a utility to do semi-automated metadata cleanup (compute and apply ReplayGain tags, insert metadata using a variety of techniques, etc) en masse and finally got my metadata in a reasonable state, and flipped back to using mpd. I was pretty impressed with beets
; it takes some setup, but runs what it can in parallel, doesn't block the process when it needs human guidance on metadata, and can be set to automatically set metadata when its confidence is above certain levels but ask below that.
Mpd is probably especially useful when one has an audio server that one controls remotely with a other devices, though I just use the thing locally. It supports a bunch of frontends; can be controlled from GUI software, from the command line, from TUI clients like ncmpc
or ncmpcpp
or a few others, from various emacs software packages, can keep running if you bring down your graphical environment. A lot of OSD/"bar"/"dock"/"wharf" software can display MPD information out-of-box; I'm currently using waybar
in sway
, which can display mpd information.
I'm not always directly at the media-serving machine, and I'm using unison to synchronize my music files to a laptop. New files or removals or whatever will get propagated in either direction. That lets me have a replicated media library accessible for disconnected use.
All of the above stuff is packaged in Debian bookworm; should be available in at least Debian-family distros out-of-box, and probably others.
Anyone else want to describe their favored music-playing setup, stuff that they've found works well for 'em? Maybe give other folks who might be looking for something similar useful ideas?
I'm a big fan of keeping it simple: