This repository contains resources and installation guides for the Case Audio System.
- Raspberry Pi (3B+)
- ADAU1701 soundcard:
- [new] ADAU1701-2In4Out (balanced with preamplifiers)
- [old] ADAU1701-KERNEL BOARD - APM2 (unbalanced)
- Kramer active speakers:
This guide is intended to show the necessary steps required to install and configure Volumio on a Raspberry Pi. In addition, to get a working sound system you must also follow the DSP installation guide.
Note: A common reason for the Sound system to stop working seems to be due to a bricked SD-card. It is assumed that this is due to excessive static discharge in the Lab. This may be fixed in the future with some input filtering on both audio and power input to the system. As of now, the only known way to fix this issue seems to be to redo this installation. However, make sure that the SD-card actually is bricked by connecting the device to a screen. If not bricked, the Raspberry Pi normally takes a couple of minutes to boot and will then show a terminal window.
-
The latest version of the Volumio image can be found at volumio.org/get-started/.
To flash the image an image burning tool is required. I recommend Balena Etcher.
-
When the burning process is done, insert the SD-card into the Raspberry Pi and wait for it to boot. The boot process is done when a wifi hotspot called Volumio appears. This is a temporary hotspot used to configure the new Volumio installation.
Connect to the temporary wifi with the password
volumio2
-
The Volumio platform will always host a web page. This page is used to interface with the device. The address is by default
volumio.local/
Go to this address and follow the installation wizard.Note:
-
When selecting name, use the same name as the room where the device is located e.g. one of:
- Projectroom
- Multiroom
- Workshop
-
When prompted to select output device, select HDMI or Headphones. If a DSP is used, this can be configured later by following the DSP installation guide.
-
When promoted to connect to a network, connect to CASELAB. After the installation is done, the Raspberry Pi will connect to the network and the hotspot will be disabled. This will also result in the webaddress changing to the new name of the device! E.g:
projectroom.local/
-
At the end of the installation wizard, it is prompted for a user account but this is not necessary. Reload the page and press skip if the installation wizard starts again.
-
If Volumio does not automatically connect to the CASELAB wifi, go to settings->NETWORK and reconnect to the CASELAB wifi.
-
-
The Volumio installation is now done. You can try it out by playing music either through the Headphone jack or HDMI, depending on what you choose as output device.
This guide will show the steps required to install and configure the Digital Sound Processor (DSP) which is used as the soundcard for the CASE Audio System. The DSP chip used is the ADAU1701 from Analog Devices. The DSP chip is mounted on a PCB from 3e-audio, which also contains preamplifiers and filtering circuits. The system is mounted in a 3D printed enclosure.
This guide was tested to be working on Volumio version 2.834.
-
SSH is disabled by default in Volumio. We need access trough SSH to configure the DSP. Thus, to enable SSH go to
HOSTNAME.local/dev/
This is an admin page where you can enable and disabling SSH. Replace
HOSTNAME
with the given device name.Press Enable under SSH.
-
SSH into the Raspberry Pi. The default name and password are both
volumio
-
The DSP driver installation steps are based on this guide from the DSP driver creator MKSounds.
Clone the DSP drivers:
wget https://github.com/CASE-Association/case-AudioSystem/raw/master/adau1701-i2s.dtbo
-
Copy drivers to overlays:
sudo cp ADAU1701-I2S-Audio-Driver-for-Raspberry-Pi/adau1701-i2s.dtbo /boot/overlays
-
Add the DSP to the dacs.json file:
sudo nano /volumio/app/plugins/system_controller/i2s_dacs/dacs.json
by copy and pasting:
{"id":"adau1701-i2s","name":"ADAU1701 I2S Output","overlay":"adau1701-i2s","alsanum":"1","mixer":"","modules":"","script":"","needsreboot":"yes"},
close the editor by
ctrl + x
theny
and finally Enter. -
Add the DSP to the device tree:
sudo nano /boot/config.txt
And add the following line to the bottom of the file:
dtoverlay=adau1701-i2s
close the editor by
ctrl + x
theny
and finally Enter. -
Reboot the device
sudo reboot
-
The DSP driver shall now be installed and can be selected as output device:
From the webpage, go to Settings->PLAYBACK OPTIONS and select ADAU1701 I2S Output as the output device.
Press Save
This will prompt you to reboot the device,
Reboot the device.
You are now done, and the Sound system shall be operational. You can test this by playing from a radio station, from a local music file or installing the Spotify Connect-plugin.
Note:
- If by default the volume can not be changed, select Software in the Mixer Type-dropdown.
The current version of AudioSupervisor is not working!
AudioSupervisor is a Python script which controls the internal sound processor (DSP) based on external and scheduled events. The idea of this is to:
- Guard volume level at Working hours (Configurable)
- Guard volume level at Case Association hours (Configurable)
- Turn of sound system and disconnect from Spotify connect etc, at closing hours. This can be circumvented if the system is still in active use, or being enforced (Configurable)
- Interface with the panel-mounted buttons to, e.g play/pause, previous- or next-song.
Install the supervisor by running the following command from the home path:
sudo apt-get update
sudo apt-get install -y python-dev python-pip libfreetype6-dev libjpeg-dev build-essential python-rpi.gpio
sudo pip install --upgrade setuptools pip wheel
sudo pip install --upgrade socketIO-client-2
sudo apt-get install rpi.gpio -y
git clone https://github.com/caselabbet/case-AudioSystem
chmod +x ~/CASE_DSP/AudioSupervisor.py
sudo cp ~/CASE_DSP/AudioSupervisor.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable AudioSupervisor.service
sudo dpkg-reconfigure tzdata
reboot