# 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 ``` #### Python Packages ```bash sudo pip3 install \ Flask Flask-Babel Flask-SQLAlchemy Flask-WTF \ mysqlclient redis simplejson mutagen pyev python-dateutil ``` #### get the code git clone https://gitlab.servus.at/autoradio/engine #### Set Up a database ```bash 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 ```bash mkdir /var/audio mkdir /etc/aura cp {where you cloned the repo}/configuration/aura.ini /etc/aura/aura.ini ``` 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.