Skip to content
Snippets Groups Projects
Commit 26bd3192 authored by David Trattnig's avatar David Trattnig
Browse files

Update docs on default and fallback playlists. #52

parent 791d8ce3
No related branches found
No related tags found
No related merge requests found
...@@ -21,16 +21,16 @@ the requirements of community radios. ...@@ -21,16 +21,16 @@ the requirements of community radios.
## Features ## Features
- Play audio from multiple sources - **Play audio from multiple sources** including files, streams and analog live audio
- Dynamic switching of sources - **Dynamic switching of sources** organized as playlists
- Record output to filesystem - **Stream output** to an Icecast Server
- Stream output to an Icecast Server - **Multichannel Line-out**
- Multichannel Line-out - **Silence Detector** to avoid *Dead Air*
- Blank Detenction / Silence Detecter - **Auto DJ** which plays random music when silence is detected
- Auto Pilot a.k.a. Fallback Handling - **API** to query Track-Service, monthly reports and information for displaying the Studio Clock (see [Engine API](https://gitlab.servus.at/aura/engine-api))
- API to query Track-Service, monthly reports and information for displaying the Studio Clock (see [Engine API](https://gitlab.servus.at/aura/engine-api)) - **Web Application for a Track Service** (see [AURA Player](https://gitlab.servus.at/aura/player))
- Web Application for displaying the Track-Service (see [AURA Player](https://gitlab.servus.at/aura/player)) - **Web Application providing a Studio Clock** (see [Engine Clock](https://gitlab.servus.at/aura/engine-clock))
- Web Application for displaying the Studio Clock (see [Engine Clock](https://gitlab.servus.at/aura/engine-clock)) - **Bulk and Timeslot Recorder** (This will be provided after v1.1 by a planned `engine-recorder` component)
Read more on the [Engine Features](docs/engine-features.md) page. Read more on the [Engine Features](docs/engine-features.md) page.
......
...@@ -10,7 +10,8 @@ This page gives a more detailed overview of the Aura Engine features and how to ...@@ -10,7 +10,8 @@ This page gives a more detailed overview of the Aura Engine features and how to
- [Analog line-out](#analog-line-out) - [Analog line-out](#analog-line-out)
- [Stream to Icecast](#stream-to-icecast) - [Stream to Icecast](#stream-to-icecast)
- [Scheduling](#scheduling) - [Scheduling](#scheduling)
- [Fallback Handling](#fallback-handling) - [Default Playlists](#default-playlists)
- [Auto DJ](#auto-dj)
- [Silence Detector](#silence-detector) - [Silence Detector](#silence-detector)
- [Monitoring](#monitoring) - [Monitoring](#monitoring)
- [Send mails on errors and warnings](#send-mails-on-errors-and-warnings) - [Send mails on errors and warnings](#send-mails-on-errors-and-warnings)
...@@ -49,9 +50,11 @@ To configure your Icecast connectivity check-out the `[stream]` section in your ...@@ -49,9 +50,11 @@ To configure your Icecast connectivity check-out the `[stream]` section in your
## Scheduling ## Scheduling
Engine provide a scheduling functionality by polling external API endpoints frequently. Engine provide a scheduling functionality by polling external API endpoints frequently. Those API endpoints
are provided by [Steering](https://gitlab.servus.at/aura/steering) to retrieve schedule information and
[Tank](https://gitlab.servus.at/aura/tank) to retrieve playlist information.
Scheduling is split into multiple phase. Below you see a timline with one timeslot planned at a certain Scheduling is split into multiple phases. Below you see a timeline with one timeslot planned at a certain
point in time and the involved phase before: point in time and the involved phase before:
```ascii ```ascii
...@@ -106,43 +109,55 @@ point in time and the involved phase before: ...@@ -106,43 +109,55 @@ point in time and the involved phase before:
If for some reason the playout is corrupted, stopped or too silent to make any sense, then If for some reason the playout is corrupted, stopped or too silent to make any sense, then
this <u>triggers a fallback using the silence detector</u> (see chapter below). this <u>triggers a fallback using the silence detector</u> (see chapter below).
## Fallback Handling ## Default Playlists
Engine is able to react to common community radio scenarios, like the upload of some While a timeslot can have a specific playlist assigned, it's also possible to define default playlists
pre-recorded show has been forgotten, or some live show is actually not taking place. for schedules and shows:
Usually in such cases the broadcast might end up with some timeslot filled with silence.
To avoid this, Engine provides multiple levels of fallback handling.
The available fallbacks are evaluated in following order: - **Default Schedule Playlist**: This playlist is defined on the level of some recurrence rules (*Schedule*).
In case the timeslot doesn't have any specific playlist assigned, this playlist is broadcasted.
1. **Schedule Fallback**: If the show fallback is not assigned, a configured fallback - **Default Show Playlist**: This playlist can be assigned to some show. If neither the specific timeslot
playlist for the related timeslot is used. This playlist is aired in normal order. playlist nor the default schedule playlist is specificed the *default show playlist* is broadcasted.
It's important to note, in case that playlists containing anything different than
file entries, are ignored (i.e. live or stream content).
2. **Show Fallback**: If the timeslot for some show has no playlist assigned, the
playlist assigned as a *show fallback* is used instead. In the dashboard this can
be done as seen in the screenshot below.
![Setting for the Show Fallback in AURA Dashboard](images/dashboard-fallback-setting.png "Show Fallback in Dashboard") ![Setting a default show playlist in AURA Dashboard](images/dashboard-fallback-setting.png "Default Show Playlist in Dashboard")
This playlist is aired in normal order. It's important to note, in case that playlists If none of these playlists have been specified the *Fallback Handling* mechanism takes over (see next chapter).
containing anything different than file entries, are ignored (i.e. live or stream content). ## Auto DJ
3. **Station Fallback**: If everything goes wrong, meaning all the previous fallback There might be scenarios where some user has forgotting to assign a playlist to a timeslot or even
playlists are not assigned or are invalid, the *station fallback* will be triggered. This missed to define a timeslot. To avoid such broadcast ending up in [Dead Air](https://en.wikipedia.org/wiki/Dead_air),
fallback type is specified by either some **M3U Playlist** or an **Audio Folder**. Both are watched Engine provides a *Fallback Handling* or *Auto DJ* feature.
and automatically updated upon content change. Media is played in an randomized way, meaning
they are shuffled and played until nothing is left for the given playlist/folder. Then it There a two ways to feed music into the Auto DJ:
starts all over again.
- **Audio Folder on your harddrive**
- **[M3U Playlist](https://en.wikipedia.org/wiki/M3U)**
Both are watched and automatically updated upon content change. Media is played in an randomized order, meaning
they are shuffled and played until nothing is left for the given playlist/folder. Then it starts all over again.
To configure the behavior of fallbacks, check out the `[fallback]` section in your `engine.ini` configuration. To configure the behavior of fallbacks, check out the `[fallback]` section in your `engine.ini` configuration.
Please note that engine also extracts meta-information from music played by the Auto DJ and updates the *Studio
Clock* and *Track Service* feature accordingly.
It's also possible to report incidents where Auto DJ starts playing to e.g. programme coordinators. To do so
you simple have to define a mail server (see section [Monitoring](#Monitoring)) and a valid email address:
```ini
# Set to "true" if you want to notify programme-coordinators about about fallback situations, otherwise "false"
mail_coordinator_enabled="true"
# If you want to address multiple programme-coordinators separate their emails by space
coordinator_mail="programme-coordinator@your-radio.org"
```
### Silence Detector ### Silence Detector
The aforementioned fallback levels are triggered using a Silence Detector reacting to situations In order to avoid [Dead Air](https://en.wikipedia.org/wiki/Dead_air), the aforementioned Auto DJ feature is
where no or unwanted sound is on air. The Silence Detector allows detection of absoulte silence, triggered using a Silence Detector reacting to situations where no or unwanted sound is on air. The Silence
weak signals or even noise. Detector allows detection of absoulte silence, weak signals or even noise.
To configure the sensitivity of the Silence Detector adapt following properties in To configure the sensitivity of the Silence Detector adapt following properties in
`engine.ini`: `engine.ini`:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment