Playing music on the computer

Continuing difficulty thereof


Desktop listening

Alternatives? Too many, mostly indifferent. Luke Baker reviews media players that work on Linux specifically, and slant does linux/macos and geez there are a lot and if just a few of them pooled their efforts I bet the outcome would be awesome. As it is…

My requirements are simple, I think. I would like a music player that

  1. …plays music from my hard drive, in all the common modern formats.
  2. …allows me to mark a song I like while it is playing so that I can find it again.
  3. …allows me to track which music I recently added to my collection so I can hear it and decide whether to keep it.
  4. …does not require the bulk of my CPU cycles or RAM to list or play music.
  5. …runs on my linux machine or, even better, cross-platform on mac windows and linux.
  6. …does not index every audio file on my computer, or even in my Music folder, because I work with audio as a musician and an audio machine learning researcher, and have hundreds of gigabytes of drum samples and audio training data, far outnumbering songs, and I will never wish to individual snare samples shuffle-mixed into my dinner-time music, especially not at massive cost in RAM.
  7. …(optionally) allows custom metadata for keeping track of dj-able tunes (metadata, tags).
  8. …(optionally) plays streaming music servics.
  9. …(optionally) handles music scrobbling, tracking, recommendation etc, but NBD if not

These do not seem controversial requirements to me, but they are fulfilled by few of the players out there, as far as I can tell.

iTunes

⭐️⭐️

It syncs to my phone, good. It integrates well into the OS. There endeth the advantages. Whilst it was cutting edge when I first started using it more than 15 years ago, iTunes has stagnated in features and forged ahead with annoyances even as it slides backwards on performance. It uses huge amounts of CPU to play music. It is increasingly based on streaming music from the cloud which is nice if you live in Silicon Valley and don’t DJ. Otherwise, you need options. I don’t live in Silicon Valley and fail to not DJ, so I seek other alternatives.

Amarok

⭐️⭐️⭐️

Amarok, (Linux, windows kinda, macOS not really) the KDE default player, is not bad even if it seems only intermittently updated. Its internal ecology of plugins and extension resembles the overall music player ecosystem, which is to say, it co-mingles enthusiastic innovation and broken-hearted abandonment. It has scripting based on elderly javascript. Works fine, and currently sort-of actively maintained, although not so active; one has the feeling the developers are latchkey parenting here.

Clementine

⭐️⭐️⭐️⭐️

Clementine, (windows/macOS/Linux) is a Qt4 fork of the sporadic Amarok. It did seem itself to be abandonware for a while, and maybe is again? This is what I currently use on macOS. It is fast and more-or-less-ok, UI-wise. The graphics are a little dated and it is hard to find the metadata edit button, and there are various bugs easter-egged through it, such as claiming to play spotify but giving you an error if you try. It has notionally many useful features, supporting streaming services and online metadata services, last.fm scrobbling, and quixoticaly weird features, like Wiimote control. Half-baked ambition is Clementine’s watchword.

Strawberry

⭐️⭐️⭐️⭐️

Strawberry (Windows/Linux/macOS) is an active Qt5 fork of the inconstant Clementine, which is a Qt4 fork of the sporadic Amarok.

Do I care about which number Qt all these forks use? Not especially. The difference to me as an end user seems small. I’m not a C++ guy though, so maybe something important happens. Strawberry seems exceedingly similar to Clementine to me and I do not know how to choose between them. Strawberry had a new release more recently, so is fresher/moderner/better? It has fewer features than Clementine, but the features it does have seem less buggy.

DeaDBeeF

⭐️⭐️⭐

DeaDBeeF (linux/macos/windows) gets good reviews. It is functional and fast. It supports plugins in C.

Shortcomings: There is no capacity to write useful metadata, such as “I love this song”, so it is hard to come back to tracks or mark them for later use in your DJ set or whatever, so it fails at point 2. You can make playlists instead, which is not that smooth. There is no notion of keeping track of recent music, so it fails at point 3.

Rhythmbox

⭐️⭐️⭐️

RhythmBox is capable and fairly efficient. AFAICT it was the GNOME default player for a while. It has been superseded by the sexily-named GNOME Music. It includes plugins such as a file organizer and python extension API. I’d probably want to use beets or quod libet if I really wanted to hack my music player though. Nonetheless, it is a solid low-fuss music player that just goes and is available without any special installation.

GNOME music

⭐️

The GNOME music standard is GNOME Music. Its unique selling proposition is that it leverages built-in GNOME infrastructure including something called Tracker which should make it simple to manage files and such I suppose. That sounds nice. However, on my computer it crashes on startup, probably because of point 6, so it is dead to me. It might be worth revising one day when I have restructured my music folder or the software is better.

Lollypop

Another GNOME music aspirational standard, Lollypop claims to be… nice? I am just so very tired of trying out new music players.

sudo add-apt-repository ppa:gnumdk/lollypop
sudo apt-get update

Melody

Melody is another slightly different player that also tries to sync music to your phone. How do people have the energy to get out of bed and face the day, knowing that there is auch a looming horde of music players daming their attention?

Swinsian

Swinsian (USD20, macOS) is a simple music player that tries to preserve the good bits of iTunes and not the rest. Consequently, it is a tiny fraction of the size of iTunes.

Beets

beets, the extensible open-source music manager, claims to do music playing now, via the browser

Supports automatic machine listening-driven metadata management, which is neat. How many of these plugins are well maintain, though? How much debugging do I wish to do around the experience of expeditious finding classic songs on demand?

Quod libet

quod libet is a kind of converse of beets in that it is GUI-first but has a sideline in metadata management and extensibility. It includes extensive command line support. I cannot remember what happened when I tried this; maybe it worked just fine.

XMMS

XMMS the primordial media player I can vaguely recall using for for X11 in the year 2000, turns out to sort-of still exist, which is to say, radically altered and rebuilt progeny with the same family name survive. Will eventually try for nostalgia reasons.

MPD

MPD abstracts away iTunes entirely. It is a protocol supporting distinct music playing backend servers and frontend clients. Reportedly the protocol is in a state of standards logjam but it is probably functional and has a huge mass, an unmaintainable riot really, of clients. It is intrinsically networked so you can do cute things like having a collective iphone party dj app, although that only sounds like a good idea the first time.

Beets supports it via bpd. Luke baker also likes Cantata, which is a friendly frontend.

Tauon

⭐️⭐️

Tauon gets a at least one thumbs up review. It has such features as actually organising the files music library. Other highlights include

  • Import tracks and create playlists by simple drag and drop.
  • Batch transcode folders of music.
  • Last.fm scrobbling with track love support heart
  • Download cover art function.
  • Edit tags with MusicBrainz Picard (when also installed).
  • Keep track of play counts. Visualise these so you always know which tracks were your favorite.

My experience of it was short and unsatisfactory due to failing at point 6: not indexing all my hundreds of thousands of non-musical audio files.

Qoobs

foobar2000 is a cult windows player. Do I care about it? not enough to bother at the moment. There is a semi-clone called qoob that runs on non-windows platforms, based on a theoretically hackable and customisable python+QT framework combination. USP: hipster music in the screenshots instead of bland wallpaper pop.

Nuclear

Nuclear is an open-source streaming client:

There’s no need to use services that limit your freedom and seek to exploit you just to listen to your favourite artists. Nuclear empowers you to listen to what you want, where you want, and how you want, for free. Stream from any free source on the internet. Nuclear supports Youtube and Soundcloud out of the box, with a plugin system allowing for easy addition of more. Nuclear supports scrobbling to last.fm and updating the now- playing status.

plex

Plex a freemium audio app for pretty much every platform can also play things. I am unsure of features.

Cassette tapes

Will work after the apocalypse.

The original version of Amarok

Music discovery

Slightly obsessive completist personality? Don’t worry, it afflicts many nerds. How about you channel that twitchy compulsion into something productive: analysing your music collection so that you can be a better DJ, which is the most socially acceptable type of completist obsessiveness there is?

So anyway, my preferred service in the quantified-self race was last.fm, which was delightful when it was ascendant and has now fallen on hard times. This catalogues your music listening history and puts it online, often with cute graphs. Hey, at least letting the world know about that is less harmful than other data people collected about you without your consent. Unfortunately, development has languished for years, and the client is shitty, enormous, slow, crashes a lot, and fills your syslog up with weird errors. I already have iTunes to do that.

One alternative to the last.fm client for Mac is mxcl’s dashboard scrobbler. Max Howell is a genius of minimalism, please send him free money. Also the Amarok-derived clients, like Clementine all support last.fm natively and some other apps besides.

Increasingly independent discovery systems like last.fm have become less relevant — one uses Apple music or Spotify or Tidal or whatever. But there is something satisfying about the ownership one gets from last.fm.

Mobile devices

🏗

Media centers

Overengineered

Sonos, et al, for people who find wires too complicated, access to the audio to be too flexible, and a heavy wallet a great burden.

Jellyfin

Jellyfin is a streaming media server that plugs into media centers.

Compact

Raspberry Pi-based home media system hacks, perhaps?

Volumio

volumio is a cheap computer-oriented player in the form of a music-focussed linux distro.

The boss of the project, Michelangelo, is an entertaining and lovely guy and his work deserves a shout out on that basis too.

Volumio is meant to be an headless dap (digital audio player), just connect it to your home stereo system or your DAC.

Then, connect it to your home network and control it just from a browser: Pc, Mac, Android or iOS.

Volumio can take your music from USB, Network Storage, streaming services like Spotify and act as a DLNA Player or Airplay receiver.

kodi

Kodi (formerly XMBC) is the media centre at the heart of lots of rasppi media centres. But how to package it up? A million different ways all of which are tedious to compare against each other and differ in ways you’d rather not know anything about! Welcome to the 21st century.

As a rule, the JeOS distributions run their own tweaked packaging systems so you have to do more work to get unsupported software, but less work to get supported software.

  • LibreELEC is a JeOS Kodi host. (seems active)

  • OpenELEC is a JeOS Kodi host. (seems a little slow on updates)

  • OSMC is a Kodi-focussed debian. Creators also make a pre-loaded one-board-computer device, the vero4k.

  • XBian

    Just like Debian, XBian incorporates rolling releases. This means that different from other distributions such as OpenELEC or Raspbmc, XBian doesn’t release fixed images that often.

    In contrast, XBian offers new package updates at least once a week. This means that new improvements and bugfixes are delivered quickly and easily.

    Sounds lofty. Should the ghastly design of their web-page make me nervous about their UX though?

DJing

See DJing.