This schema below is the setup exactly as explained in this guide, but it’s not the one I use today. I had to make a few changes to the initial setup I had in mind because of performances issues.
A much appreciated feature in recent connected amplifiers is the ability to play music from streaming services. Even if I have a huge media library, everything is not in it, so I wanted to add support of Spotify on my HiFi server.
The installation is very easy :
$ curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
The configuration file is located at /etc/default/raspotify
# /etc/default/raspotify --Arguments/configuration for librespot
# Device name on Spotify Connect
# Bitrate, one…
To be honest I don’t use CD anymore, I gave up my collection years ago. I don’t even have a player anymore except for my desktop optical drive. However I still get some from time to time when buying records, so I wanted to add a CD player to my setup. I bought an external 2.0 USB DVD writer, plugged it to the Pi and started digging.
I ended up with a solution very similar to what I did with USB sticks:
This part gave me more thinking than the others. What I want is automatically playing audio files contained on a usb stick when it’s plugged in. But as the pi is still headless, we need some kind of remote to control the queue.
MPD seems again a good choice to do this. Unfortunately, our MPD instance is already running in satellite mode so managing a library from a folder isn’t possible. But we can very well run another instance of MPD on the Pi, which will use usb sticks as media folder. So we need a new mpd.conf file, and…
I also wanted a protocol more standard than MPD on the other OS and in the industry. This protocol is DLNA. It comes with 3 entities :
So I followed the same idea than from MPD mostly, and installed minidlna on the NAS to store the UPNP database.
I also added minidlna to the audio group so that it could watch for changes in the media folders
So now to make as the big boys I want to add MPD to manage my music library, but I can’t have the database managed by the Pi for various reasons:
Since Bluetooth and Pulseaudio now works, we can get on making the latter available on network. And it’s actually pretty easy
$ sudo apt install pulseaudio-module-zeroconf
In /etc/pulseaudio/default.pa, all you need to do then is adding the following lines according to your own network
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
On my clients, I also install pulseaudio-zeroconf and Avahi for service discovery according to their system.
$ sudo pacman -S pulseaudio-zeroconf avahi nss-mdns #archlinux
$ sudo dnf install pulseaudio-module-zeroconf avahi #fedora
$ sudo apt install pulseaudio-module-zeroconf avahi #debian
Then, on your clients you can use paprefs to enable network discovering
Given my prior experience, I wanted to start by the bluetooth sink. It’s my first priority to connect my amplifier and I felt it would be easier to configure the rest of my requirements according to bluetooth constraints. I found an excellent guide for the bluetooth setup, which really covered all my bluetooth needs:
First thing we…
A few years ago I bought a Raspberry Pi model B+ and a cheap mini bluetooth adaptor with the idea in mind to create a network audio server out of it and make any audio player available on IP and bluetooth. I quickly realized the Pi native jack output was crap and added a Hifiberry DAC+ Pro, a high-resolution digital-to-analog converter which connects directly on top of the Pi. I put everything in a nice wooden case and began my long journey to make the best of it.