← Back to context

Comment by Pay08

6 days ago

Out of curiosity, since I've never understood it, what is the point of music player daemons? What makes them different from any old media player?

Our IT department has a machine called jukebox hooked up to a sound system. Since it runs a music player daemon everybody in the IT department can control the jukebox from their own frontend, phone or whatever.

Technically you could achieve the same with a web frontend, but then you're limited to that UI. A music player daemon is agnostic to the UI, meaning there can be different UIs or you can add music via command line, text interfaces etc.

If you spend a lot of time in the shell and are used to manipulating text via chains of piped Unix utilities, then MPD controlled by mpc lets you put music on without leaving that environment that is comfortable and efficient. For example, play album X but not tracks Y or Z from it that I think suck. Or play such-and-such a piece of classical music but in the recording by that particular conductor and ensemble, etc.

I like having the music player be separate from the client that controls it. I'm currently listening to music on my home desktop PC while using my work laptop, and I can control the music playback from the work laptop by just connecting to the daemon.

You can also use multiple clients if you want. Some TUI, some graphical, some utility like mpdscrobble (that just watches what you listen to and scrobbles it to Last.fm).

  • Are you still on Last.fm? I finally deleted my account last year after the site had been a ghost town for over a decade. Long decline from the early millennium when seemingly every hipster in my town scrobbled and music was an IRL social thing. If I still cared for tracking statistics without the social stuff, I would use Libre.fm.

    • Funny timing, I'm actually working on my own scrobbling platform too: Rocksky https://rocksky.app . It's built on the AT Protocol and focuses both on listening stats and social/discovery features, while still staying open and developer-friendly. Still very actively developed, but if you're interested I'd love to hear feedback from longtime scrobbler users

    • I use it for tracking statistics without the social stuff, except maybe the year-end stats. I currently have a workflow for getting my stats out of Last.fm and then using those for building playlists, and it’d not work with Libre.fm.

      1 reply →

EDIT: The below is completely wrong, ignore.

<del>The server-client model means you can run the server (MPD, Rockbox Zig, whatever) on your homelab, and stream music to multiple clients. So you don't have to copy all your music onto your phone, you can just run an MPD client like M.A.L.P. and it will stream from the files on your server. Then there's just one copy of your music collection, tags, etc.: no more keeping tags up-to-date between the copies on your home server, your laptop, your phone... (Do make sure your files are backed up, of course).<del>

  • MPD doesn't really do streaming. If you install MPD on your server and then install an MPD client on your phone, the music will play on your server when you press play on your phone. You can re-encode the playback as an audio stream and stream that to your phone, but it's not really what MPD is built for.

  • You got it 180 degrees wrong. MPD means many clients can control one playback server.

  • If anyone is looking for opensource software that actually streams to multiple clients, check out Snapcast.

> Rockbox Zig exposes the full Rockbox audio engine — gapless playback, DSP, 20+ codecs, tag database — through gRPC, GraphQL, HTTP, and MPD APIs