From Smoke Academy Wiki
It's complicated, but we'll get through it together.

Smoke Media maintains two private servers to run our online services.

Smoke Web

This server runs, this wiki and a few other unrelated UWSU things.

The website also stores information about shows and metadata, which feeds the website schedule, now playing section on the player, and the app.

Smoke Playout

This server runs the infrastructure that allows Smoke Radio to broadcast, including the streaming server (Icecast) and logging system (Hyperlog), plus the scheduling manager (Faraday & Marconi).

Playout controller (Airtime)

The playout controller interface.

The playout controller is the main tool committee members have to control what goes out on air at a given time.

It is in control of what is played into the public audio streams. Depending on how its internal schedule is set, it may play pre-recorded shows (files uploaded to it through a browser interface), or live shows from either the /harrow, /hub or /ob streams.

The playout controller is our implementation of the open-source scheduling and playout software known as Airtime. Aside from a customised look, it has received some light hacking so that rather than playing silence when nothing is scheduled, it will instead play tracks from a server-side folder of audio files. This jukebox functionality prevents dead air.

Found at

More playout controller info is here.


The Icecast status page.

Smoke Radio broadcasts using the popular Icecast streaming server. This is what studios (the Media Hub and the Forum in Harrow) stream to, and what listeners connect to. The status is available at

Operates on port 8080 to get around University of Westminster firewall rules. 8080 tends to be unblocked everywhere, unlike the more common 8000.

Icecast has no direct controls or admin options. Everything is handled via the playout controller.


Each individual stream on Icecast is known as a mountpoint. The normal range of mountpoints are:

  • /listen - Main output stream for listeners using website player. Medium-bitrate AAC.
  • /mobile - Output stream for the app and website player fallback. Medium-bitrate MP3.
  • /hub - Input stream from live Media Hub shows. MP3.
  • /harrow - Input stream from Harrow studios. HE-AAC v2 progressive (don't ask).
  • /ob - Input stream used from outside broadcasts.

The /listen and /mobile streams are what listeners can hear. The playout controller listens to the other three streams (/harrow, /hub, /ob) and decides which ones to forward onto listeners based on its internal schedule.


Simple 24/7 audio logger, which makes hourly recordings of shows and makes them available to download. Data from the website is used to stamp each recording with metadata. Shows are saved on a rolling basis, and the oldest recordings are continuously deleted.

More info