AURA Engine
This piece of Software is part of 'AURA - AUtomated RAdio'.
AURA Engine does:
- requesting the programme from an external Source
- switches the soundserver at the correct time to a given source for a specific show
- records what is broadcasted
Installation
Software
Operating System
Any sound supporting linux system should work. It is tested and coded on a debian stretch
Packages
On a debian machine:
sudo apt install \
git \
python3 python3-pip \
redis-server \
liquidsoap liquidsoap-plugin-alsa liquidsoap-plugin-flac liquidsoap-plugin-icecast liquidsoap-plugin-pulseaudio \
mariadb-server libmariadbclient-dev \
quelcom
Python Packages
sudo pip3 install \
Flask Flask-SQLAlchemy \
mysqlclient redis simplejson \
mutagen validators
Grab the code
git clone https://gitlab.servus.at/autoradio/engine
Set up a database
mysql -u root -p
CREATE DATABASE aura_engine CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'aura'@'localhost' IDENTIFIED BY 'secure-password';
GRANT ALL PRIVILEGES ON aura_engine.* TO 'aura'@'localhost';
Files and Folders
Create the audio folder defined in your aura.ini
mkdir /var/audio
mkdir /etc/aura
cp {where you cloned the repo}/configuration/engine.ini /etc/aura/engine.ini
edit engine.ini to your needs
edit installation dir and database settings in aura.ini
aura.py
It is the server which is connected to the external programme source, to liquidsoap and is listening for redis pubsub messages.
Guru
The commandline tool for interacting with the server.
Liquidsoap
The heart of AURA Engine. It uses the built in mixer, to switch between different sources. A source can be a stream, the filesystem or linein
Hardware
Soundcard
AURA Engine ist tested with an ASUS Xonar DGX. It should work with every by ALSA supported soundcard. PulseAudio support is planned.
Hard/Soft
When you use ALSA, you will have to play around with ALSA settings. In the folder ./modules/liquidsoap is a scipt called alsa_settings_tester.liq. You can start it with 'liquidsoap -v --debug alsa_settings_tester.liq'. Changing and playing with settings can help you to find correct ALSA settings.
Recordings
You can configure up to five recorders. You find the settings in the main config file engine.ini. You can choose between wav, flac, ogg or mp3 output
Streams
You can configure up to five streams. You find the settings in the engine.ini. You can choose between aac, aacplus, fdkaac, flac, mp3, ogg, opus stream
If you experience 'hangs' on the stream
- reduce the quality or
- invest in better hardware or
- install the realtime kernel
apt install linux-image-rt-amd64 reboot