-
Flash the latest image of Raspbian Lite from raspberrypi.org to your MicroSD card.
-
Add an empty file called
ssh
to the/boot
directory of the card. -
Eject the card and insert it into your Pi
-
Plug in your USB sound card.
-
Connect power to the system.
-
Log in to your Pi over SSH as user
pi
with passwordraspberry
. -
Create the directory
~/.ssh
. -
Inside
~/.ssh
, create the fileauthorized_keys
and add your SSH key. -
Run
sudo su
and repeat the last two steps. -
Reboot and confirm that your SSH key works.
-
Uncomment or add this line in
/etc/ssh/sshd_config
:PermitRootLogin prohibit-password
-
Run
sudo raspi-config
and make these changes:-
Change your password.
-
Set your hostname.
-
Change your localization and timezone (if needed).
-
Set video memory allocation to the minimum of 16 MB.
-
-
Reboot.
-
Run
sudo apt-get update && sudo apt-get upgrade
. -
Run
sudo apt-get install ola
. -
Disable unneeded plugins in OLA (e.g., at http://sfx-player.local:9090). You can do this by navigating to New UI (from the bottom of the page). From the Plugins tab, uncheck all plugins except the following:
- E1.31 (sACN) or ArtNet, depending on your preferred DMX input
If you need any of the other plugins, of course, leave them enabled.
-
Create the directories
/home/pi/music
and/home/pi/playlists
. -
Run
chgrp audio /home/pi/music /home/pi/playlists
. -
Run
chmod g+w /home/pi/music /home/pi/playlists
. -
Copy
asound.conf
to/etc
. -
Reboot.
-
Run
sudo apt-get install mpd mpc bc shairport-sync
. Leave outshairport-sync
if you don't need the Pi to act as an Apple AirPlay audio receiver. -
If you installed
shairport-sync
, you may want to copyshairport-sync.conf
to/etc
(overwriting the existing file if present). Feel free to customize this file. -
Run
sudo systemctl stop mpd && sudo systemctl disable mpd
. -
Copy these files to
/home/pi
:mpd@6600.conf mpd@6601.conf mpd@6602.conf olat_mpd.trigger olat_mpd.environment olat_mpd@6600.environment olat_mpd@6601.environment olat_mpd@6602.environment olat_sys.trigger olat_sys.environment olat_sys@1.environment olat_sys@2.environment
-
Copy
olat_*
control scripts and the binaryws
to/usr/local/bin
.Note: This binary of
ws
was compiled on Raspbian and is different from the one found at https://github.com/yhat/ws/releases/download/v0.1/ws_linux_arm.zip. See https://github.com/yhat/ws for source and other binaries. -
Run
sudo chmod a+x /usr/local/bin/olat_* /usr/local/bin/ws
. -
Copy these files to
/etc/systemd/system
:mpd@.service mpd@.socket mpd.target olat_mpd@.service olat_mpd.target olat_sys@.service olat_sys.target olat.target
-
Create these directories in
/etc/systemd/system
:olat_mpd.target.d olat_sys.target.d
-
Copy these files to
/etc/systemd/system/olat_mpd.target.d
:6600.conf 6601.conf 6602.conf
-
Copy these files to
/etc/systemd/system/olat_sys.target.d
:1.conf 2.conf
-
At this point, you may add more instances of
olat_mpd@.service
orolat_sys@.service
in the manner above. Just make sure there are matching*.trigger
,*.environment
, and (forolat_mpd@.service
)mpd@*.conf
files in/home/pi
. -
Run
sudo systemctl daemon-reload
. (Also do this whenever you've changed thesystemd
drop-ins mentioned in the last 3 steps.) -
Set up your DMX universes in OLA (e.g., at http://sfx-player.local:9090/). This guide assumes you'll set up at least 2 universes. All the
olat_mpd@.service
daemons, as well asolat_sys@1.service
, require Universe 1.olat_sys@2.service
requires Universe 2. These requirements are configured in the various*.environment
files copied to/home/pi
. Adjust them as needed. -
Run
sudo systemctl enable olat.target
. -
Reboot.