Skip to content
Snippets Groups Projects
README.md 2.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • # 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:
    
    ```bash
    
    sudo apt install \
        git \
        python3 python3-pip \
        redis-server redis-tools \
        liquidsoap liquidsoap-plugin-alsa liquidsoap-plugin-flac liquidsoap-plugin-icecast liquidsoap-plugin-pulseaudio \
        libev4 libev-dev \
        mariadb-server libmariadbclient-dev
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    ```bash
    
    sudo pip3 install \
        Flask Flask-Babel Flask-SQLAlchemy Flask-WTF \
    
        pyev python-dateutil
    
    #### get the code
    
    git clone https://gitlab.servus.at/autoradio/engine
    
    #### Set Up a database
    
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    ```bash
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    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';  
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    ```
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    #### Files and Folders
    
    
    Create the audio folder defined in your aura.ini
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    
    ```bash
    
    mkdir /var/audio
    mkdir /etc/aura
    cp {where you cloned the repo}/configuration/aura.ini /etc/aura/aura.ini
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    ```
    
    
    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
    
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    
    
    AURA Engine ist tested with an ASUS Xonar DGX. It should work with every by ALSA supported soundcard. PulseAudio support is planned.
    
    
    Gottfried Gaisbauer's avatar
    Gottfried Gaisbauer committed
    
    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.