Using automation and recognition with Spinitron

Spinitron handles music recognition in pretty much the same way that it handles integration of automation systems. Either way, Spinitron receives messages over the Internet saying what’s playing on various station from those stations’ respective automation systems or from ACRCloud (our partner providing the recognition service).

Spinitron can do various things when it receives these now playing updates. It might

  • ignore the message
  • log a spin in a playlist, in which case it may needs to choose one
  • create a playlist, in which case it needs things like playlist title, DJ and show

This article explains Spinitron’s behavior when it receives an automation or recognition update and the controls you have over the behavior.

The main control you have over this is the automation mode, which we describe first. Next, there are two more ways to disable logging of automation/recognition spins based respectively on DJ preferences and the program schedule. Then we describe how Spinitron automatically creates playlists when needed. But before all of that, Spinitron performs basic validation.

Basic validation and automation logs

First, Spinitron needs to identify the source of the update message. On success, any subsequent processing decisions or errors are logged in your automation log (Admin: Automation & API: Automation Logs). If identification fails then you won’t see anything in your automation log because Spinitron cannot connect the update to your station. There may be useful information in server logs but you need to contact us to debug the situation when your automation system appears to be running but there’s nothing in your automation log.

The received update must include at least artist name and song title. If either is missing then an error appears in your log. This is quite common because some automation systems send updates when they play non-music items such as sweepers, bumpers, promos, IDs and other announcements that lack one or both of these fields.

Spinitron can also discard updates if the automation system includes the duration of the item it is playing and it is too short. This is another way to filter out non-music based on the heuristic that music tracks are usually much longer than non-music. You can control the cut-off in the automation control panel or disable the feature altogether. The default cutoff is 75 seconds.

Disabling automation/recognition in DJ preferences

When a DJ is logged in to Spinitron and has the playlist entry worksheet open, a cog icon button in the top right of the page provides access to various options that are saved in the DJ’s preferences. One of these is a checkbox to enable/disable insertion of spins from the music recognition system. This allows a DJ to disable the audio recognition system while she or he is on the air. Specifically, recognition is disabled for the duration of any playlist owned by a DJ who has this checkbox checked in their preferences.

Disabling automation/recognition using the program schedule

Each show in the program schedule has a “Disable automation” checkbox. Spinitron will discard a spin from automation or recognition while such a show is on air. Specifically, if one of the scheduled show’s recurrences begins before and end after the automation spin’s timestamp then Spinitron discards the automation spin.

Automation mode

The automation mode governs what Spinitron does when it receives an automaton/recognition update

  • Disabled - discard the update
  • Full automation - log the spin into an automation playlist unless there is an open DJ playlist, in which case discard the update
  • Live assist - log the spin into an automation playlist unless there is an open DJ playlist, in which case log it into the open DJ playlist

Disabled mode is for stations that don’t use automation or recognition. It’s also useful if you have an occasional need to disable automation/recognition. But for automation or recognition to work you use one of the other modes. We assume you will normally leave Spinitron in either full automation or live assist mode. There may be exceptions, in which case contact us to discuss your needs.

Basically full automation is for stations that continuously run the robot DJ while live assist is for stations that run the robot DJ only when the station is unattended and DJs use the automation system interactively at other times.

Full automation

Some stations run the automation’s robot DJ continuously and control its audio output, for example using a fader on the mixing board. A DJ who takes over from the robot DJ fades its audio channel out and during the show uses other channels to play music interactively. A DJ who leaves the station unattended at the end of a show fades the robot DJ up.

While a DJ is doing a show, playing songs from CD, vinyl, laptop etc., the robot DJ continues to run but its audio output is muted. However, the robot DJ still sends updates to Spinitron. So Spinitron applies a policy of discarding automation updates while there is an open DJ playlist. Specifically, if there exists a DJ-created playlist with start time before and end time after the timestamp of an automation/recognition spin then Spinitron discards the automation/recognition spin.

Live assist

Some stations use their automaton system for both unattended and interactive operation. The robot DJ is turned on in the automaton system while the station is unattended and turned off while DJs do live programming. DJs can use the automation system interactively to play songs from its digital library as part of their show.

The robot DJ is turned on and off in the automation system itself as opposed to leaving it running and muting/unmuting its audio output. Specifically, if there exists a DJ-created playlist with start and end times spanning the timestamp of an automation/recognition spin then Spinitron inserts the automation/recognition spin into that playlist.

Live assist mode is normally the choice if you use music recognition.

Creation and selection of playlists for automation/recognition spins

The full automation and live assist policies described above only say what happens when a DJ playlist exists that spans the timestamp of an automation spin. When this is not the case, Spinitron logs the automation spin in a playlist. A suitable playlist may already exist but if not then Spinitron automatically creates a playlist.

When Spinitron processes a automation/recognition spin that is valid, and neither DJ preferences nor the program schedule prevent logging the spin, and the automation mode’s policy does not discard the spin then Spinitron attempts to select an automation playlist. If one exists, i.e. Spinitron previously created an automation playlist that spans the timestamp of the current automation spin, then Spinitron uses it, otherwise it creates a new playlist.

To create a playlist, Spinitron refers to the program schedule. If there is no scheduled show spanning the automation spin’s date and time then Spinitron creates a generic playlist with duration of one hour and a title based on your station name and the date and time.

Alternatively, Spinitron can create a playlist using a show as template by copying its title, start time, duration etc. If there exists a scheduled show with a recurrence that spans the automation spin’s date and time then Spinitron uses it if either it is owned by the “automation persona” or the “Use any scheduled show as template for an automation playlist” checkbox in the automation control panel is checked.

The “automation persona” is a pseudo-DJ, a Spinitron user belonging to your station that you nominate for this special role in the automation control panel. It can be a real person or a special user account you create for this purpose. A show in the program schedule that has the “automation persona” as an assigned DJ is eligible to be used as template for the creation of an automation playlist.

If the “Use any scheduled show as template for an automation playlist” checkbox in the automation control panel is checked then all shows in the program schedule eligible to be used as template for the creation of an automation playlist.