this post was submitted on 23 Feb 2024
40 points (97.6% liked)

Selfhosted

40705 readers
474 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I'm looking for a media player/OS for an ARM SBC that can stream from my navidrome (subsonic compatible) music server, and be controlled via either a web GUI or an android app. I'd love to hear what you guys came up with!

Currently really happy with my setup, I'm using Navidrome as my music server, along with Ultrasonic as my phone client.

I've set up a (dumb/analog) speaker system on my workshop, and I'd like to be able to listen to music there, but I don't want to add a whole setup (be it an old laptop, or add kb/mouse, monitor and such) and my phone no loner has a 3.5mm jack.

I have a Raspberry Pi 3, an OrangePi Zero, and an OrangePi PC+. I'd rather use the zero or the PC+ since they're kinda unstable/wonky and I don't trust them anymore for stuff I want to keep running 24/7 (like pihole).

I'm open to testing other music servers (volumio maybe?) on my main homelab if that means having the ability to change the client/sink from the app/gui (something like what Spotify does, where you can pick from any client to stream to other clients/speakers)

all 9 comments
sorted by: hot top controversial new old
[–] cfi 18 points 10 months ago* (last edited 10 months ago) (2 children)

Ooh ooh, I know this one!

You could run Mopidy, which has support for Subsonic libraries. You could also run plain MPD.

Whatever you decide to go with can then be connected to Snapcast, which is a server/client setup for streaming audio from a source to multiple client endpoints (in this case your workshop, phone, PC, etc).

On devices that can run the client software, like a desktop or phone, you just run the Snapcast client software.

To connect stereo/AVR systems to Snapcast, you can build a streaming endpoint with a Raspberry Pi ZeroW with a Pirate Audio hat, or the version without the screen, and set up the Snapcast client software on it, and then connect it to your stereo system.

If you have a 3D printer, you could optionally print out a case for the client devices.

This is my setup, right down to using Navidrome as the Subsonic server and I couldn't love it more!

[–] Willdrick 3 points 10 months ago (1 children)

Holy crap thanks for the detailed walkthrough! Im going to set it up as soon as I can!!

[–] cfi 4 points 10 months ago* (last edited 10 months ago)

No problem. This is essentially what Sonos charges hundreds of dollars to do, but ends up costing ~$150 for the server and ~$35 per client device (using Pirate Audio + RPi ZeroW). One thing I neglected to mention is that if you happen to have Spotify Premium, you can set it up so that Snapcast becomes a Spotify Connect output

[–] Osiris 1 points 10 months ago

Thanks for this write up! I was looking for something to replace volumio/hifiberryos and mopidy with Iris is a great combo. I couldn't get the subsonic plugin working too well (the plugin seems a big half baked and the maintainer doesn't used anymore), but the local plugin works fine over smb.

[–] [email protected] 4 points 10 months ago (1 children)

I can't answer your original question but I have had a lot of success using Logitech Media Server (LMS) or PiCorePlayer (same thing but all in one, server and end player). They are also known as Squeezebox.

I ran a server on a pi, then ran the player part on more Pis including a pi zero w which had PCP installed (but I just used the player part of it).

Squeezebox used to be a Logitech brand, you can still find them on eBay. They closed it down, but open sourced it and it was taken over by the OS community.

It looks shit. But there is a Material theme you can add that makes it look far nicer. It will run your own media from the server, but also other services like TuneIn Radio, Spotify, YouTube, BBC radio...

I ended up with it because there is a plugin that allows Google Home Minis to be used as end devices and I have 3 of them. So I had 6 end devices (3 Google, 3 Pis) and I could run them all together playing the same music throughout the house.

It's a bit buggy sometimes, and it requires a fair bit of fiddling. I found that the Google devices would always be out of sync by a half second or so. But on the whole I loved it, and when my Dell Optiplex comes I intend to revive it on that.

[–] Willdrick 1 points 10 months ago (1 children)

While I was researching I found out about Squeezebox, as there are people using it in combination with HomeAssistant. Both solutions you and @cfi provided seem pretty doable, and I've already been tinkering with Mopidy on armbian. Snapcast is something I've never heard of, and I'm definetly going to tinker around it, I'd love to be able to sync several speakers around the house, specially for parties and gatherings.

That being said I think they are a bit overkill for the usecase, and I'm looking for something even simpler, maybe repurposing the guts of a cheap BT speaker I have lying around, see if I can find somewhere on the PCB where I can tap line level audio output and solder it directly inside the amp/sub box, along with a small power supply to run without batteries. (I know there are ready-made BT modules for this, but where's the fun in that!)

[–] [email protected] 2 points 10 months ago

Hah if you've been on Reddit and seen some of the posts about LMS and Home Assistant you've probably seen a bunch of my posts about it.

When I installed PCP on the Pi Zero W it was hooked up to a Bluetooth soundbar. There was no need for soldering a PCB in there. The pi3b I have upstairs was running though and old pair of PC speakers I found in a drawer, and the one in my kitchen was run though and old Bose surround sound system, via an electric drum kit I got my kid for his birthday. Meant we could put songs on Spotify through it and play along on the drums

[–] [email protected] 2 points 10 months ago

Volumio might work. It has a subsonic plugin.