Skip to content
Snippets Groups Projects
Forked from AURA / engine
1704 commits behind, 402 commits ahead of the upstream repository.
README.md 7.31 KiB

Aura Engine

Aura Engine is a play-out engine as part of Aura Radio Software Suite, specifically build for the requirements of community radios.

Features

  • Play audio from multiple sources
  • Dynamic switching of sources
  • Record output to filesystem
  • Stream output to an Icecast Server
  • Multichannel Line-out
  • Blank Detenction / Silence Detecter
  • Auto Pilot a.k.a. Fallback Handling
  • API to query Track-Service
  • API to query monthly reports
  • API to query data for a studio clock
  • Web Application for displaying the Track-Service
  • Web Application for displaying the studio clock

Read more on the Engine Features page.

Architecture

AURA Engine as part of the AURA Radio Suite uses an modulear architecture based on a REST API. All external information is retrieved using JSON data-structures.

To learn more, checkout the Engine Developer Guide or visit the Aura Meta repository.

Requirements

Hardware Requirements: This depends on how many audio sources and targets you are going to use, but for the most common scenarios any current hardware should be sufficient. For the audio devices it is required to use an interface which has supported ALSA drivers.

Operating System: Any linux system with ALSA, PulseAudio or Jack2 support should work. It is tested and coded on Debian Stretch and Ubuntu 18.0.

Installation

git clone https://gitlab.servus.at/autoradio/engine

Install System Libraries

Aura Engine requires at least Node 13, Python 3.7. Then install Liquidsoap 1.4.1 using OPAM.

Having these installed you need to

sudo apt install \
    git \
    supervisor \
    redis-server \
    libsndfile1 ffmpeg \
    mariadb-server libmariadbclient-dev \
    quelcom \

And finally

opam depext fdkaac flac opus pulseaudio bjack alsa
opam install fdkaac flac opus pulseaudio bjack alsa

Install Engine

Development Environment

sudo ./install.sh

Production Environment

sudo ./install.sh prod

Setup 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';  

Configuration

In your development envirnment edit the file