Broadcast schedule for automation of professional broadcasting

A small description of the principles of the schedule for beginners or how not to mess things up.
Please note that this description is subject to change or addition at any time.

The basis of the schedule is a set of tasks that are checked every minute and are triggered when conditions match.
Folder rotation - instead of playlists, you can use folders for convenience - more details below.
Dynamic playlists - playlists made up of rotating folders or files - more details below.

Schedule basis

We use our own unique scheduling system, which is very flexible and easy to set up. And so, let's start with the basic rules and terminology that should be followed:

1. Schedule is a list of tasks that are checked every minute and, if they match, are launched. If the start condition matches for several playlists at the same time, the start will happen sequentially .

2. There are 3 types of playlist launch : on-air, playlist insertion, insertion of 1 track. It is important to understand that by priority, inserts of 1 track from the queue will be played first, then inserts of playlists, and then there will be a return to the on-air playlist. If an insert playlist is playing, then according to the schedule, it can be interrupted by another insert playlist by date / time . And inserting a playlist after N tracks or N minutes will not interrupt, but will wait for the end of the current insert .

3. First of all, set up air playlists . On-air playlists are usually the main playlists that play most of the time. For example: daytime, nighttime, weekdays, holidays.

4. Then, if required, insert playlists can be specified. Inserts are playlists or tracks that temporarily interrupt the main broadcast. As a rule, these are short playlists or jingles that are inserted throughout the day. For example: jingles, intros, advertisements, hourly beats, stories, mini-playlists.

5. When specifying a task in the schedule, you should specify the way to include the playlist . For on-air playlists, you must always specify inclusion by time / date , while you can set several time conditions at once. The on-time is specified in the CRON style, where an unspecified value takes "any value". Consider skipping the asterisks:
****-**-10 **:00 Monday - the playlist will start every hour at 00 minutes, but only on the 10th of Monday, is that ok?
****-**-** 10:00 AM Monday - 10:00 AM on Mondays, now that's fine
****-**-** 20:15 - every day at 20:15
****-**-** **:00 - every hour
****-06-20 15:00 - June 20 at 15:00
****-**-01 15:00 - 1st at 15:00

6. Inserts can be specified not only by time , but also included every N minutes or after N songs . Those. if you want to play jingles every 15 minutes, or for example every 5 songs played, then these conditions are for you. It is better not to use such conditions too much.

7. In addition to the activation methods, there are additional options. You can change the queue of on-air playlists at any time. The fact is that if your on-air playlists are not very long, then they will play in a circle until another one is launched. If you specify a queue, then after the launched playlist, the next one in the queue will be included. The current queue can be seen and changed at any time in the files section - sometimes this is useful.

8. The next option is how the playlist is played , the playlist can be played in order, or randomly, or in order with shuffling at the beginning/end. The mode of the current playlist can be changed at any time in the Auto-DJ control.

9. A very interesting option is to specify the number of the song from which the playlist will start. If not specified - the playlist will play from the beginning, and if you specify not a number, but -1 , then the playlist will be included from the position where it ended before. This option is very interesting for example for inserting jingles. In this case, the jingles will be inserted one at a time, but continuing the order of the playlist.

10. Well, probably the most requested option is to wait for the end of the current song. By default, the playlist will be played at exactly the time the schedule fires, this is useful for accurate playlists or hourly hits. Otherwise, it is better to specify the option to wait for completion, then the new playlist will be included after the end of the current song without interrupting playback.

11. For PRO tariffs, it is also possible to insert a jingle over the stream . In addition, in the settings, you can specify the % volume of the music at the time the jingle is overlaid on top.

Folder rotation without playlists

It is most convenient to use folder rotation without creating playlists. If you need to rotate through folders without repeating artists, this is what you need. You no longer need to bother with playlists. Just upload the files and set a new folder in the schedule. The system will select the coldest tracks from it without repeating performers - everything is automated. Cold or cooled down tracks are tracks that have not aired for the longest time.

How folder rotation works. The system checks which artists and tracks have been played recently, and then tries to select an artist from a folder that has not been aired for a long time. At the same time, the task of the rotator, if possible, is to play all the tracks in the folder. In the case when there are few tracks or a small number of artists in the folder, the system will try to evenly distribute the tracks as much as possible. Suppose if there are 10 tracks of one artist and 10 tracks of different other artists in the folder, the rotator will insert the tracks of the first artist through one with the others. If there are more tracks in the folder, for example, not 10, but 100 tracks of other artists, then the rotator will insert the tracks of the first artist after about 10 tracks. If there are tracks with the same names in the folder, the system will try to play them all, but at the same time moving them as far as possible from each other. In any case, you control how the folder will play. If you want complete variety, don't upload too many tracks from the same artist.

Algorithm in numbers. There are selections with limits and dynamic % from which number of tracks to randomly select the next track. This is necessary so that the folder does not always play in the same sequence. Initially, the system takes into account the artists from the 30 latest tracks, and then, without repeating the artist, tries to select a track from the 50 coldest tracks in the folder. If there are less than 100 tracks in the folder, then the system selects from the 50% of the coldest tracks. These are the main conditions for selecting tracks for various folders. For small folders, other conditions and limits apply. This algorithm has been refined for several years for various tasks of our clients and it makes sense to delve into the subtleties. If you think something is not working properly, just let us know.

Important! If you specify a folder that has subfolders, they will also be used by the system during rotation. Accordingly, if you specify the root folder "/" , the system will use absolutely all downloaded files. Write about problems with folder rotation through contacts.

Dynamic playlists with folder rotation (similar to hour rotation)

If the task arose to create dynamic playlists by analogy with the rotation of the hour, then this is also possible with us. Just create an empty playlist, and then add both regular tracks and folder rotations to it. Such a playlist will play like a regular playlist, but where a folder is added, 1 cold track from this folder will play. For example, let's create a playlist for rotating an hour or several hours:
1. Jingle1
2. Advertising1
3. /Popular/***
4. /Popular/***
5. /New/***
6. /Jingles/***
7. /Advertising/***
8. /Popular/***
9. /Popular/***
10. /New/***
Example jingles and advertisements are added as tracks and as folders. We can start this playlist as an on-air playlist for example at 12:00 and the specified 10 tracks will play in a circle until a new condition from the schedule is triggered. For example, at 13:00, you can simply start another on-air playlist. Dynamic playlists are convenient because you can create them once, specify the launch in the schedule, and then work only with folders and files. In this case, we get both the convenience of working with folders and the flexibility of playlists.

Well, in principle, and all the basics of the schedule at the moment. Perhaps you will find other hidden features :)