jahed.dev

Quod Libet, the Perfect Music Player

One of my pet peeves when it comes to software are Music Players.

Music tastes are entirely subjective, yet the vast majority of Music Players are heavily opinionated in how we consume music. They put Albums and Artists as the main breakdowns with the option to manually create playlists. Most are bloated with other features like Lyrics, Wikipedia entries and everything else unrelated to playing music. Their interfaces are rigid and inconsistent. It's all just an extremely restricted environment, a far cry from the massive variety of music that's out there to listen to.

foobar2000

When I was using Windows as my primary operating system, I found one solution: foobar2000. A freeware, proprietary music player with a focus on plugins and customisation. It can be skinned to the point where it looks like a completely different player and that's where a large part of its userbase exists.

However, for me the draw was a bit simpler, visually at least. I wanted the ability to tag my music however I wanted and run queries against them across my entire library. That's more of less what foobar2000 provides with some additional plugins.

Finding those plugins is a bit of a pain. foobar2000 is quite old now, and plugins are made by individual volunteers so a lot of them don't work. Extensive documentation is maintained by the community, though that too can be out of date. Off the top of the my head, I don't even remember the plugins I used to get it to be how I want. I eventually stumbled upon enough of them to reach a point where I didn't need to look.

So, I was happy. foobar2000 was the best music player available and it did everything I needed it to. Until...

Moving to Linux

foobar2000 is Windows-only and closed source. There was no way it was coming to Linux. It was a big reason why I stuck with Windows (along with games). But when push came to shove, in the form of Windows 8 and 10 respectively, I had to move on.

Rhythmbox

At first, the best music player I could find that was closest to foobar2000 was Rhythmbox. A very rigid music player that, to say the least, I didn't enjoy using. I had to create playlists manually and it had this ugly Album/Artist filters along the top reducing the space for listing the actual tracks at the bottom.

Which brings me to another pet-peeve of mine. Desktop screens are widescreen. Landscape. Yet most software uses the height, rather than all of that empty width. It's free real estate! Use it well. Please.

Anyways, it was a pain to use, so I kept my eyes open for something else.

deadbeef

DeaDBeeF was an extremely promising candidate. It looks almost exactly like foobar2000 to the point where it was uncanny and made me confused. It's similar to foobar2000 without any plugins. It has its own plugins, but not many. The experience is very raw. Close, but not quite. Still looking.

A Chance Encounter

One day when I was doing my weekly software updates, I thought I'd click through Fedora's Software "store" (everything's free). The front page had some featured music players, none of which I liked, so I clicked through to the "Audio & Video" category. I've gone through this list a few times over the last few months but nothing came of it.

This time however, I was a bit more thorough and checked the top rated applications, one at a time. The third one? Quod Libet. The first screenshot? Literally looks like my old foobar2000 setup. Installed it, tried it out, perfect.

Quod Libet

Quod Libet does everything I need from a music player. No plugins needed. Tag management, an extensive query language with saved searches (i.e. "auto playlists"), a somewhat flexible interface and excellent documentation.

The "Paned Browser" is my favourite layout. It defaults to Rhythmbox's ugly look which can be misleading. Under the settings, you can change it to a columnar layout with a choice of tags to breakdown by. It uses the full width of the screen and you can pick any tags. Sure I can't do any crazy layout changes like in foobar2000, but the paned columnar view is exactly what I would've made anyway.

I tag my music (most of which are soundtracks), with data like: ratings, moods, franchises, instalments, vocals and notable instruments. So I can easily choose a saved search, pick some filters (if any) from the column breakdowns and play a generated playlist.

It's the perfect user journey. The only improvement I can think of is supporting dynamic columns so I don't need to change my settings to pick a different tag to breakdown by. But, I've saved enough searches that it's a minor use case that I'll rarely use.

How did I miss it?

So, this perfect music player existed for years and I had no idea. It supports Windows, Linux and Mac; which would've been useful when I had a Macbook. And it's completely open source. It's even on Flathub. How did I miss it?

Well, Quod Libet doesn't show up in any of the top search results on DuckDuckGo, nor Google. It's a hidden gem. Even though it's the third highest rated app on Fedora's underused software store, I still missed it for months. I didn't know what "quod libet" meant so I couldn't put two and two together.

A Naming Problem

Is it a naming problem? I'd argue it is. I have a similar problem with my own project, FrontierNav. No one sees FrontierNav and thinks "this is a website with game guides that can help me with this specific problem I'm searching for". The same way I saw "Quod Libet" and its quaver icon and thought "it's probably some sort of music composition software".

Naming is hard. I've been thinking of a good name for FrontierNav for a few months now and none seem palatable. It's like changing the name of your own child. It's hard, probably impossible in a complete sense. That might be why so many projects use codenames that never match the product. In which case, it's a good lesson to learn.

Conclusion

It's been over a year now since I started using Quod Libet. It's perfect. I can't think of any other software that's solved all of my requirements like it has. Well, I can. Dolphin for example. Point is, it's good and you should try it out.

Thanks for reading.