Software and configuration for the Ardent Mobile Cloud Platform's Raspberry Pi
Python C Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
media Ignore converted wav files Aug 16, 2013
.gitignore Untested but feature-complete cloud effect core Aug 7, 2013 Minor bugs, some more debugging logs, step by step from raw Raspberry Pi Aug 13, 2013
requirements.txt add saveload to server Aug 24, 2013 Better structure for working with systems. Aug 7, 2013


Software and configuration for the Ardent Mobile Cloud Platform's Raspberry Pi

System Setup

  • Use the latest version of Raspbian
  • Use rpi-update to install the latest firmware
  • Install extras with system/

Building the Server

The server is written in Python, but it includes C-language extension modules. For convenience, you can build it in-place:

$ ./ build --build-platlib=.
running build
running build_py
running build_ext

Running it:

$ ./
2013-08-07 14:40:56,536 - amcpserver - DEBUG - action="init_server", port="8000"
2013-08-07 14:40:56,540 - amcpserver - DEBUG - action="init_soundout", system="Darwin"
press enter to quit...


The shairport project is an open source AirPlay-compatible server. It runs really nicely on the Raspberry Pi. The original version was a mishmash of Perl and command line tools, with a C-language daemon to handle audio decompression.

There's a new 1.0 release of shairport under development which is much friendlier and more efficient. It's been rewritten fully in C, and it has a much nicer architecture. This code still hasn't been merged back to the main branch, but I've been testing it and it seems nice and solid. The repository is on Github:

Important: By default, this will compile without any optimization flags. Compile-time optimization is really important for the audio decompression code here! In my testing, CPU usage went from 40% down to about 15% by compiling with optimization:

CFLAGS="-O3 -ffast-math" make

Raspberry Pi Steps

install SD card
boot up and change the default password and expand the filesystem, reboot (raspi-config is the tool)
sudo rpi-update
sudo apt-get update

sudo apt-get install libssl-dev

sudo apt-get install mplayer
sudo apt-get install screen vim
git clone -b 1.0-dev (clone the shairport branch that's better)
cd ~/shairport
./configure CFLAGS="-O3 -ffast-math"
make install
cd ~
git clone
python build --build-platlib=.
cd ~/amcp-rpi/system