The ARAS radio automation system






ARAS is a free broadcast automation system. Project goals are:

Source code, binaries and deb packages for x86-64 GNU/Linux are available. Also, experimental Win32 binaries were built to be run with gstreamer-1.0-x86-1.4.5 and gtk-runtime-3.8.1-i686.

Current release is ARAS-3.0. It contains three applications:

ARAS Daemon-3.0. It is a scheduler with an integrated media player, without graphical interface, and without GTK+ requirements.
ARAS Player-3.0. It is a scheduler with an integrated media player and with graphical interface.
ARAS Recorder-3.0. It is an audio recorder that can be useful to record the defined blocks.

You can learn more about ARAS if you read its documentation. Henrik Enblom has written an interesting article about ARAS and playlists generation. The archived documentation is also available from the former ARAS Wiki.

XML podcasts in ARAS

It is possible to convert an XML podcast to an ARAS playlist by using standard GNU/Linux tools:

The script converts a remote XML podcast to a local ARAS playlist.

Then, define the new playlist blocks in the ARAS block configuration file as usually:
Podcast           Playlist    /home/radio/broadcast/playlist.m3u
AnotherPodcast    Playlist    /home/radio/broadcast/another-playlist.m3u

And finally, update the ARAS schedule configuration file:
Monday     12:00:00    Podcast
Tuesday    22:00:00    AnotherPodcast

Alternatively, the script may be used to download the media from the XML podcast.

Audio processing / FM radio

If you want to process your audio stream before broadcasting using JACK Audio Connection Kit, run a stack of audio effects like Calf Rack, JACK Rack, LV2 Rack or similar, with your set of LADSPA or LV2 plugins.

You have two options to automate the management of the JACK patchbay:

  1. Run QjackCtl with a proper patchbay profile.
  2. Run with a proper rule file. In this case, be careful with the elapsed time to ensure patchbay is updated correctly.

    $ -q -u 100000 rule-file

An example:
$ /usr/bin/jackd -dalsa -dhw:0 -r48000 -p1024 -n2 1> /dev/null 2> /dev/null &
$ aras-daemon /etc/aras/aras.conf > /dev/null &
$ calfjackhost --load session > /dev/null &
$ -q -u 100000 rule-file 2> /dev/null

Streaming / Internet Radio

If you want to feed a streaming server with ARAS using JACK Audio Connection Kit, do the following:
$ icecast2 -c icecast.xml &
$ aras-player /etc/aras/aras.conf &
$ avconv -f jack -i avconv -y -f s16le - 2>/dev/null | ices2 ices-stdinpcm.xml

Customize your configuration files and configure your JACK patchbay to feed avconv properly.

TV broadcast

Since ARAS is based on GStreamer, it can play a variety of multimedia formats, including video files. So if you want to automate a TV station with ARAS, set up your configuration files and do the following:
$ DISPLAY=:1.0 aras-daemon /etc/aras/aras_1.conf &
$ DISPLAY=:2.0 aras-daemon /etc/aras/aras_2.conf

Two ARAS processes working on different displays allows you to generate video and on-screen graphics for further mixing.

Feel free to write questions, comments and suggestions to:
Erasmo Alonso Iglesias <>