Summary first - I’m looking for software to use for web-controlled music playback. Main requirement is playback via a DAC on the hosting device and a half-decent UI for it (though streaming would be nice…).
Hardware-wise, I’ve currently got a Pi Zero W paired with a HiFiBerry DAC+ Zero, which has been fine for me quality-wise, routed as an aux input to an old HiFi. That, plus plenty of space elsewhere to host split apps - currently running Emby as a main streaming host for other media, and the media is just on a NAS pulling over NFS.
I’ve been using Volumio for a while, but have been frustrated with a few things (UI, playlist management, etc) so I’m looking for a change. Streaming from Emby/Jellyfin via DLNA looks like it might be a decent fallback, but I’m wondering if there are any nicer ways to handle it.
Any ideas? Open to switching a few bits of infrastructure around, of course :)
there are basically endless possibilities I’d say.
- logitech media server with squeeebox clients
- snapcast
- mpd with mopidy
- moodeaudio
- home assistant with one of the integrations.
- plenty more I’m sure
That being said, I would recommend jellyfin over emby.
LMS has been on my list of things to check out for a while, though looking at a few other suggestions, mopidy is looking like a strong choice - if I can get it set up both look at Jellyfin (starting a slow migration already…) and accept streams over DLNA, then it should cover a good portion of what I’d want.
Most of my devices are apple so I use shairport-sync to make airplay2 receivers on low power mini-pc/sbcs. Plug in a USB DAC (chi-fi topping dacs are incredible) and its lossless streaming from wherever. I have them in my office, kitchen, media room, upstairs etc. As far as the “source” for streaming, i just use nPlayer app that can connect to smb shares (full of music/video/etc), its much less to manage. Wife approval factor was high since any phone/device can connect to any airplay reciever without config as long as its on our home wifi. For power savings I have them scheduled to only be on during hours I would normally use them (sleep + wake on lan schedule). How dedicated to web control are you?
No Apple devices here except that a work-owned iPhone for dev purposes :) Web control’s not completely mandatory, but I do prefer being able to slap a window on a spare monitor when I’m at my desk, given the main speaker I’d be using with this is in my office anyway. There are some DLNA sources that look decent enough and work in a similar fashion though, and might form part of whatever solution I go with.
My recommendation would be MPD with some sort of client on your main PC.
I believe there’s some MPD web servers out there as well. I know Android has an MPD client as well on F-Droid.
As for how well it gworks, I only use MPD locally, so I have no clue how it works over the network, but I assume it works fine.
You can run the Jellyfin webui on the rpi and have it stream the audio to it and play via the DAC. Read this: https://jellyfin.org/docs/general/clients/mopidy/#raspberry-pi-remote-controlled-speakers
I would even go as far as to recommend checking out the project underlying Jellyfin integration, mopidy - it’s a well-rounded audio server, which allows you to play your local collection, network shares, as well as to integrate different external music services. Several front-ends are available as extensions, plus you can install additional extension to expose the MPD protocol, allowing you to control it remotely via one of many MPD clients.
For playback, you can install it on the Pi itself, or have it running on a separate machine, with the Pi itself running a low-complexity RTP receiver. :)
Hmm… what’s your experience with running Mopidy standlone? What client are you using, does it perform better than Jellyfin?
Thanks for the pointers- I’d been meaning to look into swapping Emby out for Jellyfin anyway, so this has given me a good excuse to spin another container up - will probably have Jellyfin on a separate host though, given I’ve got the capacity for it, and it’d be nice to unify the video/audio server. Mopidy certainly looks like it ticks the boxes though, and looks like extensible enough that it should cover a bunch of future uses as well.
I’d like to be able to easily play music stored on my devices (phones, tablets, PCs, Nas) over the stereo system I own, anytime, controlling it with said devices, without having to manually go through multiple setup steps to get everything powered up and paired every damn time. Is it possible to get it all set up once so that I can simply hit play on my phone and hear the music whenever? Seems like it should be doable but I haven’t been able to figure out how to get it done without having to go through a whole rigmarole every damn time. 😄 Would really appreciate any answers or leads.
I have a pi with a hifi berry hooked up to my stereo. It runs mpd and mounts my music over nfs from my server.
I have a few ways to play music:
- I have an RFID reader and have a bunch of RFID cards with artwork printed on them. Tapping the reader causes that album to play
- I also wrote a simple web server in elixir + live phoenix so I can select and control stuff using a tablet or phone.
The wife and kids love the RFID cards.
The RFID tags do sound like a fun idea - though I’m not sure it’s worth it just for me… Interesting mid ground between physical media and stored files though!
Yeah, it started off as a fun way for the little kids to play their favorite songs. Then it turned into a fun way to allow my guests to DJ at parties. Now I use it as a way to explore my digital collection. Truthfully, my digital collection has gotten so large, I tend to forget about things. Being able to scan and flip through organized physical cards has been a neat way to explore.
I use Volumio on a Raspberry Pi with a DAC HAT. The analog output goes to a whole-house distribution system. I installed the Volusonic plugin and it connects to my Navidrome server hosting the music collection. In this configuration, Volumio functions as a control plane. I do everything else (playlists, etc) from the Navidrome web interface. As a bonus, there are several Subsonic apps that work with Navidrome for mobile listening.
I tried Jellyfin, but never got it working the way I wanted. DLNA was particularly difficult. It would play two songs, then stop. I wrote it off as user error out of frustration, and moved to Navidrome. It’s been working well for me, so perhaps it’s worth trying since you already have Volumio up and running.
Note: The prominent comment at the Volusonic link claiming the plugin doesn’t work with Navidrome is over two years old and resolved. Don’t let that dissuade you from trying the plugin.
I made an account just to say thanks for this. I’ve been using Volumio for years and never messed with plug-ins. Been playing with sub Sonic and navidrome for a few months and combining the two is awesome.