Steering back to audio from BBQ, I've been enjoying hearing about which streaming software and supporting hardware people are using. Figured it was my turn to share. While the description below may sound like a lot of work, it's something I enjoy doing. Yeah, I know, I'm weird. In the end it's all about furthering my enjoyment of the music I love listening to. The gear's cool and all, but it's the music that matters. If that invalidates my audiophile membership card, so be it.
Quick detour - One thing I've noticed as I've improved my main headphone setup (currently a Modi MB -> Loki -> Mjolnir 2 -> DC Ether C) is that my enjoyment of my daily driver rig while at work is an LG V30 phone -> Etymotic ER4XR, has increased. No, the daily driver rig hasn't magically gotten better. Just that the discovery of new things in music I'm familiar with on the home rig have affected the way I'm listening to the daily driver rig. Kind of like an automatic upgrade in between the ears. Go figure.
Current digital music concoction:
For the endpoint I've been using the long discontinued Slim Devices Squeezebox, connected via S/PDIF to a Modi Multibit DAC. The user interface is a remote control for the player. Which I consider to be a plus - the transport controls are always available on the remote without needing to have a web browser window pointing to the server to start/stop/pause/skip the music. "Pause" and "Play" being the most used buttons. Love the display, it fits in nicely with the pile of Schiit hardware. HOWEVER... Digging through the library for a specific tune or starting up a stream on Pandora sucks using the remote and is best done using a web browser on whatever is convenient - phone, tablet, laptop, etc. Best of both worlds.
My server is very DIY though. Currently I have an installation of the moOde distribution Linux running on a Raspberry Pi 4, with the Logitech Media Server installed on top of that. Two 4Gbyte external hard drives are connected via USB 3.0 to the R-Pi, running in a quasi mirrored set up - only one drive stays mounted. When the library is updated, a shell script catches that the update occurred, mounts the second drive and runs rsync against the library. Once the second drive matches the first, it's spun down and unmounted again. The Pi is configured to boot from a small Linux partition on the USB drives, there's no microSD card in the Pi. System logs are mounted remotely to another R-Pi that has an SSD as its system drive which allows me to spin down the hard drives when idle. The rest of the space on the drives is used for storing music. LMS has plugins that support the streaming services I have accounts with - Spotify, Pandora, Qobuz which all integrate into a single presentation of the complete collection.
Music organization and meta data - The music files are stored as RIFF WAV files, organized in a tree - file name is track number & song title, each album is a subdirectory (folder) holding the relevant files, artist folder holds all the albums by that artist. All of this is in Windows style format since I started ripping CDs using Media Monkey on a Windows machine. Nearly complete on moving the ripping process to the R-Pi with a pair of CD drives so that I can rip more than one disk at a time and move the user interface for the ripping process from a GUI to a command line style I/F.
Once I've finished getting enough of my CDs ripped, I'll start on the auto-updating player for the car. Will be yet another R-Pi4 with a decent size SSD attached and configured to appear as a music player to the USB interface in the car infotainment system. I've no desire for anything better sounding than the factory system in my car. Vermont roads aren't known for being a smooth ride on a good day and Subarus aren't know for having the quietest cabins.