/raspot

My `raspotify` and `camilladsp` configs

Primary LanguagePython

Hugh's raspotify config

This repo contains the configuration files for the living-room stereo.

Hardware

I've used this setup with a few different loudspeakers:

  • Early-70s Bose 901 Series II. These need some quite dramatic EQ, which originally would be done with the Bose equalizer box, but I'm using DSP software instead.
  • Early-80s Kef Reference 103.2. These are lovely, musical, British "large bookshelf" monitors. They don't need a lot of EQ, but I want to be able to use the DSP as a tone control.

Amplifier is a Wadia 151, which is basically a very nice USB DAC power-amp.

The source is a Raspberry Pi.

Software

The stereo is configured for Spotify, Bluetooth and Airplay.

  • Using raspotify, the Raspberry Pi shows up as a Spotify Connect device.
  • Using bluez-alsa, it can be a Bluetooth speaker.
  • Using shairport-sync, it's an Airplay audio device. This is handy for movies as well as music; we can watch video on a laptop and have sound from the stereo, with quite good lip-sync.

Playback from these sources is routed via CamillaDSP to apply EQ for the loudspeakers. The setup steps are really nicely documented here.

  • The /etc/default/raspotify configuration file sets up 'raspotify' to play to the 'loopback' ALSA device, and adds an event handler (for notification when the track changes -- later).

  • The /lib/systemd/system/raspotify.service configuration file sets all the environment variables and parameters to run 'raspotify' as a service.

  • The /var/cache/raspotify directory has the camilladsp executable and configuration file. The DSP config in this case includes various hand-crafted artisanal IIR (biquad) filter settings to make the loudspeakers sound the way I want them to.

  • The /var/cache/raspotify/event script is work-in-progress... experiments for triggering logs and actions.

  • The /usr/local/etc directory has the shairport-sync.conf configuration to send Airplay output to the loopback device where it's processed by camilladsp.

--

Bose 901 and Wadia 151 (Wadia DAC/amp is the upper box, and Raspberry Pi is in the lower one)