Jessica Journals

  • 🏠 Home
  • πŸšͺ Rooms
  • πŸ“ƒ Posts
  • 🏷️ Tags
  • πŸ‘© Me
  • πŸ““ Now
  • πŸ–₯️ Uses
  • 🌐 Website
  • πŸ“° RSS

Music Setup - 2025

1698 Words β€” Estimated Reading Time: 8 Minutes
Created: 2025-06-24

Table of Contents

  • Software
  • Hardware
  • Raspberry Pi + MoOde
  • Long Cable
  • Additionally
  • Conclusion

In 2023, I wrote about how I reorganised my music setup, focusing mostly on the software side of things, with which applications I was using to tag the music, organise within a library, and play. There have been a few changes to that setup since, as well as substantial hardware differences, so in this post, I’ll go through my current music setup.

Software

I still use beets to tag my music, Navidrome to operate the library, and Symfonium to play it all. However, I have now migrated to a full Symfonium setup, so I do not play my music any other way. As such, I don’t use Feishin on my Mac Mini (as I had been) or Substreamer Web to access from a web interface.

Before I move onto how I use Symfonium everywhere, considering how it is just an Android app, I also just wanted to say that I’ve added Koito to my setup, as a music scobbler to collect data on my listening habits as well as having a beautiful interface on displaying that data. I have it directly linked to Navidrome, so anything I play coming from the Navidrome server, regardless of the device or app, will count.

Hardware

In an upcoming post, I’ll write about my current self-hosting setup, where I’ve migrated to an upgraded server and no longer using my Raspberry Pi 4b. This has left my Raspberry Pi without a job, and while I looked at a few options, I had issues with them or they required additional hardware to get up and running. I may return to such ideas in the future, but for now, I saw this as a great opportunity to improve the hardware in my music setup.

On my desk, my setup was to have audio from my Mac Mini playing through a DAC connected to powered speakers. However, this caused the performance of my Mac Mini to decrease, and I rarely streamed video for the same reason. As such, I had ended up playing music or streaming video on a cheap tablet connected to the powered speakers via a Bluetooth adapter. This worked, but I felt I wasn’t getting the most out of the high quality music library.

Next to my bed, I have almost the same set of powered speakers (I liked them and knew they were good!) - I say almost because they have Bluetooth built-in and is missing an external volume controller. I would just simply stream from the tablet to the speakers via Bluetooth, ignoring the RCA inputs entirely.

Raspberry Pi + MoOde

I first decided to upgrade my desk setup, and use the Raspberry Pi as the device to play the music, which would then connect to the DAC and the powered speakers, rather than my Mac Mini. Initially, I had some incorrect thoughts: I first believed I needed the Pi to improve how it outputs audio, thinking I’d have to buy an audio HAT, but a simple USB cable is sufficient to connect the Pi to the DAC. I also incorrectly believed I’d need to abandon Symfonium as my music player of choice, as I was looking at running software like Snapcast, Mopidy or some sort of LMS. However, after some research, I realised if I instead ran MoOde audio, and utilised its UPnP functionality, I can simply turn Symfonium into a remote and use it to instruct MoOde what music to play - all with full Symfonium functionality, including my Navidrome ratings, playlists and configured user interface to quickly access my favourites.

As such, the end result looks very similar to my old in every day use, but rather than use my tablet to stream the audio via Bluetooth, I now “stream” it to MoOde. I use quotation marks there because the tablet isn’t actually streaming - if I powered it off, the music will still play, because it is just a remote control, having instructed MoOde to play certain music from my Navidrome library.

Getting MoOde running was incredibly simple. I found an old SD card, plugged it into a card reader on my Mac Mini, downloaded the image, and then set it up with the Raspberry Pi Imager, meaning I could configure stuff like SSH, login credentials and WLAN details, as MoOde runs headless and on WiFi (unlike a previous experiment I tried with the Pi, which demanded to use Ethernet…). Once fully booted up, I simply went to the IP address, and after a few configuration tweaks, such as turning on the “UPnP Client for MPD” renderer and selecting the output device as my DAC, I opened up Symfonium, pressed the cast button, saw MoOde as a UPnP option, and heard my music play in glorious high quality after pressing it!

Long Cable

Yay! But, playing music by my bed would still be in lower quality due to Bluetooth streaming from my cheap tablet. Obviously, I could recreate the same setup by getting a Pi and a DAC (though if I am starting again from scratch, I’d likely buy a DAC HAT and bundle it and the Pi into one device), but even downgrading to a Raspberry Pi Zero 2 W and using an old SD card, I was looking at over Β£50 for the Pi, HAT, case, power supply, heatsink and shipping.

After having a long think, lots of staring at the DAC and powered speakers, and trying to work out what could and could not be moved, I finally came to a solution: a really long cable. Well, that and the DAC on the desk.

Basically, the DAC has two ways to output audio, RCA out the back, and 3.5mm out the front, with a headphones icon next to it - but both are just analog outputs that can be used however I wished. So, what I did with this new setup was simply gather a very long RCA-to-3.5mm cable I had stashed away, plug the RCA side into the powered speakers by my bed, run the cable under various rugs to conceal it, and connect to the 3.5mm front headphone slot in the DAC. The end result is that both outputs work at the same time, meaning I could have “multi-room” audio like this, but what I actually do is only turn on the set of speakers I wish to listen to, otherwise remaining off.

Either way, the process of instructing which music to play is the same: Open up Symfonium (and can do so on tablet or phone), select MoOde, and then what I want to play. I don’t even have to choose the speakers, as it is dependent on which speakers are turned on. This means when I move from my bed to my desk in the morning, all I need to do to swap the audio between the two areas is to just turn on the desk powered speakers, turn off the other set, and the music seamlessly continues at my desk, with no stopping and starting the music being played!

Additionally

Just to wrap up some random thoughts, in case you were wondering about video, this setup only involves the music streaming from MoOde. So, watching video on my tablet in bed hasn’t changed as I just select Bluetooth mode on the powered speakers and it auto connects. If I wanted to watch video on my tablet at my desk, I can still use the old Bluetooth system, as the volume controller allows for the powered speakers to accept a second input, which overrides the default. As such, I now have the cable for the Bluetooth adapter nearby and I just plug it into this input slot if I wish to watch video. Also, the volume controller has not only the option for a second input, but also its own headphone output! So if I do actually want to listen to music (or video) via headphones at my desk, I can simply plug in my headphones to that slot.

Furthermore, if I wanted to listen or watch something from the Mac Mini (I do think that is highly unlikely, but just in case), I currently also have a 3.5mm-to-3.5mm cable plugged into my Mac Mini, which rests next to the one from the Bluetooth adapter, and can plug the Mac Mini cable into the volume controller. However, the DAC has three inputs: USB, TOSLINK and coaxial S/PDIF, so I could connect the Mac Mini to the DAC as so: Mac Mini into USB-to-coaxial S/PDIF convertor, into S/PDIF-to-S/PDIF cable, into coaxial S/PDIF input. I don’t have these though, so this setup would require purchasing all these, and due to the unlikelihood of needing audio from my Mac Mini, I’m choosing to forgo for now.

Conclusion

Finally, here is the current setup visually using Mermaid diagrams:

graph TD; A(Navidrome Server) -->|DLNA/UPnP via Symfonium| B(MoOde Raspberry Pi) B -->|USB-to-USB Cable| C{DAC} C -->|3.5mm-to-RCA Cable| D(Bed Powered Speakers) C -->|RCA-to-RCA Cable| E(Desk Powered Speakers) E -->|Built-In Cable| F(Volume Controller) F -->|3.5mm-to-3.5mm Cable| G(Headphones) H(Bluetooth Adapter) -->|3.5mm-to-3.5mm Cable| F I(Tablet) -->|Bluetooth| H

It looks complicated! But in daily use, it’s actually quite easy to use, and I am very satisfied with the end result, and having done it all with bits and bobs I already had (here’s to never throwing any old cables away!), rather than needing to purchase anything. I am so glad I can now fully appreciate the high audio quality of my music collection, be able to visually see it beautifully with the wonderful Symfonium app, as well as experience it across the two areas I spend most of my time at.

I’m currently living in temporary accommodation, but plan to dig out a old UPnP compatible AV receiver and accompanying speakers out of storage when I move and place it by a sofa, enabling me to (hopefully!) open Symfonium, and instead of selecting MoOde, choose the AV receiver, and then hear my music there too! Furthermore, if I ever live anywhere with more rooms, I am glad I can see a future path for expansion of my music setup by going back to that Raspberry Pi Zero W 2 idea - though I’d also need to pay for more powered speakers!

Room: Basement
Tags: Setup Self Hosting Music

WebMentions

What is a WebMention? - Send a WebMention
Β© Jessica 2020 – 2025