alt.hn

5/9/2026 at 1:03:33 PM

Show HN: A modern Music Player Daemon based on Rockbox firmware

https://github.com/tsirysndr/rockbox-zig

by tsiry

5/13/2026 at 9:12:21 AM

Rockbox on a Sansa Clip+ (2009) was my personal peak for portable music - overtaking ye olde mini-disc player. The newer models all sucked usability-wise in comparison - screen-wise/button-wise etc. etc.

It was 2 colour, only had 6 or 7 buttons, I could completely operate it without looking at it, and Rockbox gave it the two main features I really wanted: flac support and gapless playback.

The main advantage I have now is I can have my entire (digitised) music collection on my phone - mostly ripped from CD's or purchased from Bandcamp, because it's > 400GB, and I think the Sansa Clip+ only supported 8GB maximum back in the day. Was considering digitising stuff we only have on vinyl as there is a USB output on our turntable, but decided to just leave it in its pure form. Plus recording at 1x speed is almost like going back to the dual cassette tape recorder era and high-speed dubbing was 'special'.

Hardware-wise the clip on the back always broke quickly and then the headphone socket went at some point. Went through about 5 of them before they were obsolete/or on eBay for $100s, but were good enough and cheap enough to keep replacing. One interesting upside of the space constraint was that it made you curate your own music collection, and then opt for a different set (particularly after a few new purchases).

Looks like Rockbox now does a heck of a lot more than it used to back in the day. It's great you've breathed additional life into it.

by partomniscient

5/12/2026 at 3:14:13 AM

Nice! I have a real soft spot in my heart for Rockbox, glad to see it still having some life.

The interface and performance are just so well thought out and refined.

Plus it contains the earliest published code I ever wrote: https://github.com/tsirysndr/rockbox-zig/tree/master/apps/pl... , so that's fun for me.

by kadoban

5/12/2026 at 7:43:32 AM

Author here. The real motivation: I've been a Rockbox fan since 2010, when I installed it on my iPod and it completely changed what that device could do. The UI, the codec support, the sheer hackability, nothing else has come close since.

I've wanted that same experience on my desktop for years. So I'm basically trying to bring Rockbox to macOS and Linux as a daemon I can use every day, with MPD-style control on top.

by tsiry

5/12/2026 at 8:01:28 AM

What's the advantage of using cpal over something like libmpv?

by gman83

5/12/2026 at 8:14:40 AM

they're at different layers. libmpv is a full media player: demuxing, decoding (via FFmpeg), DSP, output. cpal is just a thin cross-platform PCM sink on top of CoreAudio/ALSA/WASAPI/etc.

Rockbox already brings its own decoders (20+ codecs), its own DSP chain (crossfeed, EQ, replaygain, gapless), and its own mixer. I just need the host OS to accept PCM frames. cpal is the minimal portable shim for that; pulling in libmpv would mean discarding Rockbox's audio pipeline and replacing it with FFmpeg's, which would basically defeat the point of building on Rockbox firmware.

by tsiry

5/12/2026 at 11:47:35 AM

>which would basically defeat the point of building on Rockbox firmware.

What is the point of bulding on Rockbox firmware? I love Rockbox myself too so the answer can be "fun" and that is all right.

by PokemonNoGo

5/12/2026 at 12:27:44 PM

Honestly, mostly for fun and love of Rockbox, I've wanted it on my desktop since 2010 and nobody else was going to build it :) That said, Rockbox does bring real things: a battle-tested DSP chain (crossfeed, EQ, replaygain, dithering), gapless playback that actually works everywhere, codec coverage most players have given up on (Musepack, WavPack, ...). It's a lot of mature work to throw away.

by tsiry

5/12/2026 at 2:29:14 PM

Thanks for the reply! I hope the question didn't come off as snarky... I find music players, as a genre of software if you may me, fascinating. Since there is always a new one around the corner... Remember XMMS2!? And people still use Winamp 2.xx... It is fun to always see new takes on this problem. I will give it a whirl!

by PokemonNoGo

5/12/2026 at 5:25:04 AM

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?

by Pay08

5/12/2026 at 8:56:04 AM

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.

by TFNA

5/12/2026 at 5:39:23 AM

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>

by rmunn

5/12/2026 at 6:37:57 AM

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

by atoav

5/12/2026 at 7:37:52 AM

Thanks for the correction; edited my comment accordingly.

by rmunn

5/12/2026 at 9:20:39 AM

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

by mongol

5/12/2026 at 5:53:11 AM

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.

by Hamuko

5/12/2026 at 7:38:32 AM

Thanks for the correction; edited my comment to ensure nobody gets confused by my mistake. (I'm brand-new to using MPD, just installed it last week, so I had things backwards in my head).

by rmunn

5/12/2026 at 6:36:42 AM

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.

by atoav

5/12/2026 at 5:26:42 AM

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

by Lammy

5/12/2026 at 5:42:02 AM

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).

by Hamuko

5/12/2026 at 9:02:40 AM

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.

by TFNA

5/12/2026 at 10:46:02 AM

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.

by Hamuko

5/12/2026 at 11:40:04 AM

I haven't tried it myself but I've heard good things about Listenbrainz. Maybe something for you.

by PokemonNoGo

5/12/2026 at 9:06:55 PM

>Planned: Stream from Tidal

Yes please - Tidal's app is genuinely woeful and doesn't seem to use native API's in MacOS

by coolestguy

5/12/2026 at 6:42:52 AM

This is brilliant. The forcing function of limited hardware is one of the things that made Rockbox great, and now it gets new life on the desktop.

by actionfromafar