Worth noting that most of these GTK4/libadwaita players are going to look out of place on anything that isn't GNOME. If you're on KDE or a tiling WM, Strawberry or one of the Qt-based options will integrate much better
I'm very happy that I mostly listen to electronic music (house & techno in its various forms). The predominant way to listen to that is via DJ mixes and recorded Livesets. This field has always been ignored by the commercial streamers, and there is a culture of uploading sets to platforums such as youtube and soundcloud - where you can easily download (albeit youtube making things more difficult in recent years). Since a set is a minimum of 1hour, you don't care for song search, album art etc. You basically need 5-10 files to have music for weeks.
I'm using audacious on macOS installed via homebrew - it has a winamp-like skin. That was peak audioplayer design.
Something that wasn't mentioned in the article - if you're coming from Windows and using Foobar2000, you'll want DeadBeeF https://deadbeef.sourceforge.io/
For most of my music listening needs, I self-host SwingMusic and keep it pinned in Firefox. Occasionally I'll open the music files directly with MPV or VLC.
The automatic lyrics fetching and playback sync in SwingMusic is pretty nice. My only complaint is that it doesn't let me do full-collection shuffle. Ideally it would also allow me to do something like "full collection shuffle but only of songs that I have never heard". Sometimes I'll pick up an album because it seems interesting but things happen and I forget that I added it and it might languish without listening to it for months or years.
I'm waiting a bit for this to mature before I try it out, but I've seen that there's a few ongoing projects to analyze your full music collection to do feature extraction and generate smart playlists using AI tools. I'm not sure if it'll pan out but it seems like a fun tool for exploring large music collections and possibly making unexpected connections.
> [regarding spotify] At the end, I had nothing to show for it. My carefully curated “library” was not mine
Not just your library, but your listen history and your playlists. I was very annoyed that I had to pay a 3rd party company to export this data so that I could import it into listenbrainz and navidrome.
Anyway, I manage a homelab (read: a scrapbox ubuntu machine with 64TB of spinning disk attached) with 25,000 songs in it, and upon exiting my last position, spent my therapist-mandated "burnout recovery time" finally using `beet` to organize the damn thing. I still don't really understand beet, but now I have a semi-decent flow for abandoning Tidal: Find new released music on Listenbrainz, download it in Nicotine (filtering for >320). Idly browse a given user's other folders shared in Nicotine while waiting for downloads to see if they have anything else I want. Once done, `beet import /mnt/media/downloads/music2`, go through its flow, add anything to musicbrainz that isn't already in there, wipe the download directory when finished to clear out any cruft, and happily play it on Feishin on desktop (connected to my Navidrome instance).
I'm still sorting the mobile version of this out a bit. "Tempus" on F-droid seems the best Subsonic client, however unfortunately "offlining" music on it doesn't expose those files to the Android system or other apps, so I can only play those files within Tempus itself. That's not such a big deal when I've got my IEMs plugged directly into the headphone jack on my phone (yeah that's right I found a phone in 2026 with a headphone jack: sony xperia), but when I have my usb DAC plugged in, I want to use "USB Audio Player PRO" to bypass the android audio stack, and that can only play audio files it can find in local directories, no subsonic compatibility (but it does have a Tidal integration...). So lately I've tried just downloading playlists and albums from the Navidrome web interface on my phone.
Honestly, the best (if you don't mind a TUI) is MPD + a TUI client like ncmpcpp or rmpc. Lightweight, fast and since it is a server, you can control it from outside. You can even output the stream in various format to give be able to play it from anywhere, although if it is having your own self-hosted spotify that you want, just use navimdrome.
> You might say that owning is more expensive than renting, even with all the price increases. Sure. But I’ve paid for Spotify for ten years, from 2014 to 2024, and that’s a solid 1200€ with the old pricing. At the end, I had nothing to show for it. My carefully curated “library” was not mine - it was held hostage by a company that can up the prices at any point.
Switching from winslop to linux last year (thanks Satya) I did expect some teething issues. The reality was a bit different than what I imagined: fedora kde the OS is rock solid, but the software choices are a bit lacking. Just finding a good audio player can be a pain, and eventually I settled on some foobar clone fooyin, which while lacking built-in audio conversion mostly does what I want it to.
MacOS however truly takes the cake. An OS that’s great for creative softwate, working with images, video, audio and so on, and every single music player is something designed by aliens and/or buggy and/or missing some basic features. I went through ~five different players just to find one that has a waveform seekbar, eventually finding it in quodlibet, which while somewhat functional fits in the designed by aliens part. Baffling.
This reminds me the blog one would write around 2006. Not the text content, but the pixelated font and pictures of winamp wibe like that.
Myself, I am rather happily using mplayer - without any gui. Initially it was practicality of not leaking memory - like many gtk+ apps would do. Now, it is pure utility.
Same here! But I recently switched from ncmpcpp to rmpc, which is a much more modern client! A lot more (easily) customizable compared to ncmpcpp as well.
I tried using Strawberry a couple years ago. It suffered from a bug where every so often, playback just stops.
(Another bug was that the album art Strawberry displays is a severely downscaled, and then enlarged-with-obvious-pixelation, version of the art embedded in the file. It would be easier, and look better, to just display the embedded art.)
Shortly after I reported this, they decided they wanted to turn into a paid service.
TBH the only thing I care for (except maybe for playlist management) is gapless playback. There's no word about it, but I constantly find out that the new players do not really care about the gap, while the music I am listening to is always ripped from my personal CDs and they mostly have music continuing on two or more tracks. Why nobody cares about it?
Do you know this feeling when you get towards the High Hopes on The Division Bell and there's this ugly crack in between tracks?
My guess is not everyone is annoyed by that, or knows about the option. It was a nice surprise of qmmp, it switches to the next song without an extra pause.
I use it with a winamp skin from https://archive.org/details/winampskins, to add to the options. Not sure about streaming support, I use it with local files.
I'm a little surprised that anyone still plays music on their computer. Surely now we've moved into the era where we all have dedicated devices for that. Your phone for 99.9% of people, I'd imagine. And for the audiophiles there's a bunch of very high quality DAPs to pick from.
I can see why, when I work/focus, I like to use my computer instead of my phone because that's where my headphones are connected (easy switch for meetings, etc.) and I generally like to be nice to my phone battery.
Well, I play music on my computer when I'm working on my computer. Nicer interface and I don't have to swap headphones or whatever when going to a video meeting.
I'm using audacious on macOS installed via homebrew - it has a winamp-like skin. That was peak audioplayer design.
https://github.com/quodlibet/quodlibet
The automatic lyrics fetching and playback sync in SwingMusic is pretty nice. My only complaint is that it doesn't let me do full-collection shuffle. Ideally it would also allow me to do something like "full collection shuffle but only of songs that I have never heard". Sometimes I'll pick up an album because it seems interesting but things happen and I forget that I added it and it might languish without listening to it for months or years.
I'm waiting a bit for this to mature before I try it out, but I've seen that there's a few ongoing projects to analyze your full music collection to do feature extraction and generate smart playlists using AI tools. I'm not sure if it'll pan out but it seems like a fun tool for exploring large music collections and possibly making unexpected connections.
Not just your library, but your listen history and your playlists. I was very annoyed that I had to pay a 3rd party company to export this data so that I could import it into listenbrainz and navidrome.
Not to mention there's a song that Spotify removed from my "Liked" playlist that to this day I can't quite remember, though I can remember just enough of it to drive me mad: https://www.reddit.com/r/tipofmytongue/comments/1hklstg/tomt...
Anyway, I manage a homelab (read: a scrapbox ubuntu machine with 64TB of spinning disk attached) with 25,000 songs in it, and upon exiting my last position, spent my therapist-mandated "burnout recovery time" finally using `beet` to organize the damn thing. I still don't really understand beet, but now I have a semi-decent flow for abandoning Tidal: Find new released music on Listenbrainz, download it in Nicotine (filtering for >320). Idly browse a given user's other folders shared in Nicotine while waiting for downloads to see if they have anything else I want. Once done, `beet import /mnt/media/downloads/music2`, go through its flow, add anything to musicbrainz that isn't already in there, wipe the download directory when finished to clear out any cruft, and happily play it on Feishin on desktop (connected to my Navidrome instance).
I'm still sorting the mobile version of this out a bit. "Tempus" on F-droid seems the best Subsonic client, however unfortunately "offlining" music on it doesn't expose those files to the Android system or other apps, so I can only play those files within Tempus itself. That's not such a big deal when I've got my IEMs plugged directly into the headphone jack on my phone (yeah that's right I found a phone in 2026 with a headphone jack: sony xperia), but when I have my usb DAC plugged in, I want to use "USB Audio Player PRO" to bypass the android audio stack, and that can only play audio files it can find in local directories, no subsonic compatibility (but it does have a Tidal integration...). So lately I've tried just downloading playlists and albums from the Navidrome web interface on my phone.
10 years to realize it ? What took so long ?
https://audacious-media-player.org/
MacOS however truly takes the cake. An OS that’s great for creative softwate, working with images, video, audio and so on, and every single music player is something designed by aliens and/or buggy and/or missing some basic features. I went through ~five different players just to find one that has a waveform seekbar, eventually finding it in quodlibet, which while somewhat functional fits in the designed by aliens part. Baffling.
Myself, I am rather happily using mplayer - without any gui. Initially it was practicality of not leaking memory - like many gtk+ apps would do. Now, it is pure utility.
I added it on my RPi and it offers a really nice a home "Spotify" :)
(Another bug was that the album art Strawberry displays is a severely downscaled, and then enlarged-with-obvious-pixelation, version of the art embedded in the file. It would be easier, and look better, to just display the embedded art.)
Shortly after I reported this, they decided they wanted to turn into a paid service.
https://forum.strawberrymusicplayer.org/topic/1848/pay-for-t...
I was not left with a very positive impression.
Do you know this feeling when you get towards the High Hopes on The Division Bell and there's this ugly crack in between tracks?
I use it with a winamp skin from https://archive.org/details/winampskins, to add to the options. Not sure about streaming support, I use it with local files.