Is the AutoDJ useless?

Read 20905 times
After close to one month struggling with the AutoDJ to avoid song/artist repetition, I have come to the conclusion - unless I am missing something here - that it is pretty useless and the only way to avoid back-to-back playing is to set up a huge sequential playlist. Unless that fails as well, of course. I have tried extreme measures, like creating separate random playlists for each artist with more than 10 songs and defining a playing interval - say, after 120 minutes - but even this fails and sometimes the same artist appears twice in sequence. Apparently, when you say a playlist is random, the software takes everything else as random as well, and, in the case of the 120-minute interval, will sometimes play two songs in sequence and then wait 240 minutes.

In short, it is a hassle. I honestly can't understand how such an elementary feature as preventing artist repetition is lacking in Centova. No radio station worthy of its name will ever do that. I suggested elsewhere a simple way to implement this: a NOT clause in interval playlists. Instead of "play after 20 songs", it would be interpreted as "do not play before 20 songs". Another option would be to have a general configuration: "Do not repeat the same artist before xxx songs".

In the meantime, I am giving up and looking for alternatives. Does anybody know of a more reliable and flexible webradio manager? I would appreciate any suggestion on this regard.

EDIT: Just complementing the above:

(1) Large random playlists don't work as described in the manual. It is said that the system will try to avoid repeating the same song for the longest time possible, but that doesn't happen. I have a 1000+ generic list without song or artist repetition, but the AutoDJ often plays the same song twice in a row or within a few songs. To check that, I created a short 10-song playlist and set it in random mode. If the algorithm worked, the same song would only play after approximately 9 other songs, but the AutoDJ regularly played the same song twice or even three times in a row.

(2) Apparently there is a glitch with timed playlists as well. Together with the generic list, I have 20+ separate timed lists for artists with many songs. To create some randomness, I set all of them to different intervals - say, 1 hour or 2 hours - but when the first time slot comes (in this case, after 1 hour), the system will play one song from each list in sequence regardless of their specific timings, and then go back to the generic list. So, when one song from the first timed list comes up, I know beforehand who will come next.

(3) Again, all this hassle - which certainly has a burden on system processing as well - could be avoided by simply adding a simple parameter: "Do not repeat the same song for xxx minutes, do not repeat the same artist for xxx minutes (or songs)". This would allow us to have a single playlist for the whole station and make management - both on our side and on the system's side - much easier.
Last Edit: August 29, 2017, 03:08:27 pm by aleph
Dear aleph,

Unfortunately the feature of "do not repeat the same artist" is not supported by Centova Cast at this time, nor is it advertised anywhere in our website, which would make your post more of a feature request.

If you would like to join others that have also requested this feature, you can properly do so at http://forums.centova.com/index.php?topic=500.0

As for your other complains, this issues are likely due to misconfiguration of the playlist set, or they could be the result of a faulty underlying system.

In order to troubleshoot such issues, you can turn on the "Nextsong debug:" options under the advanced tab in your station's settings. This will create detailed logs of how each track is selected by the AutoDJ engine.



Regards.
Thanks for your prompt reply, Roger. I agree that lack of repetition is not advertised anywhere, but I must add that I took that as granted, because it is such an elementary feature that is absence would render any AutoDJ, as I said, useless. No radio station in the world plays the same artist (or the same song) twice in a row. If I can't avoid that, I can't use the AutoDJ. Simple as that.

As to my configuration, I have tried anything I could think of. Currently I have one large playlist (around 1500 songs) set to play randomly, plus 25 or so short playlists, each containing dozens of songs by the same artist and set to play at diferent time intervals ranging from 1 to 4 hours. As I described above, (a) the large playlist often plays the same song twice in a very short interval, which is quite annoying; and (b) the timed playlists seem to play all at the same time, regardless of their different timings, and, again, often repeat the same songs when they come up.

All in all, I have approximately 6 days' worth of songs. However, some songs repeat several times in a 24-hour period, and others apparently are never played. My next attempt will be to make 20 sequential playlists containing all of my songs and set each of them to play the next song in the list after 19 songs from the other playlists. I believe this could at least avoid repetition for one hour or so (if the system behaves as planned).

Anyway, thank you for your attention. I will try the debugging step you mentioned and see what comes up. In the meantime, could you at least inform me if such non-repeat feature is being considered for the next versions of your system?

In order to troubleshoot such issues, you can turn on the "Nextsong debug:" options under the advanced tab in your station's settings. This will create detailed logs of how each track is selected by the AutoDJ engine.

I could not find this option. Is it available somewhere in the Centova Cast panel? I don't have access to the underlying engine, only to the station control panel.
It's very simple to prevent the same artist and/or song from playing, I wrote a little script that will first look at the last played tracks and omit any artist and/or song in it.  You can go into the SHOUTcast server settings and change the amount of last played tracks from 10 up to 20, which I think is the ideal amount of time before the same artist plays again.

I went a step further and used the related artists that Last.FM includes in their API for each artist combined with a like song/dis-like buttons so the playlist learns from the listeners. Each time a artist is liked or disliked, the script adds either +1 or -1 to the artist db I created,  I use the Centova API to add the popular artist along with any related artist  in the user media library + scrub from the last played tracks to automatically create a playlist (I call SmartMIXX), which runs on a cron so every 30 minutes a new playlist is generated.
To randomize the tracks I first add them to a temp DB, then SELECT ... ORDER BY RAND(), then into the Centova playlist ie.

simplexml_load_file('http://1.1.1.1:2199/api.php?xm=server.playlist&f=xml&a[username]=' . $centova_username . '&a[password]=' . $password . '&a[action]=add&a[playlistname]=SMARTMIX&a[trackpath]=' . $track);


Been running this for a couple months for several clients and it's doing great, the more data from listeners the smarter the playlist is.

We must be able to compete with Pandora and the others that allow listeners to skip tracks, not easy with SHOUTcast streams but I think it's vital

It did take a few days to figure out how to do and write the codes but it works very well

You can check out the demo here http://2k22day.com

Each listener (IP Address) is allowed only 1 vote per track

Use SweetAlert for the notifications
http://t4t5.github.io/sweetalert/

To pull the related artists
https://www.last.fm/api/show/artist.getSimilar

And for the playlist which you would create in Centova (Immediate / In Order)








My Auto DJ
Orlando, FL USA
Quality SHOUTcast Hosting http://myautodj.com
SHOUTcast Widgets http://shoutcastwidgets.com
That seems interesting, MyAutoDJ. Problem is, I am a fairly non-technical user and I only have access to the Centova Cast panel. If I understood right, I would need access to the engine itself in order to implement this solution. Is that correct? Anyway, I could talk to my provider to see if it can be done.

As to repetition, I just came across one example of the issues described above. Chicago songs are in an Interval list set to play one random song every 180 minutes, but that simply doesn't work. The image shows what happens in practice. If this kind of issue is not sorted out, I cannot have my station go on air without a very detailed sequential playlist, which defeats the purpose of the AutoDJ.
You would pull the last played from the XMl file, would only work with SHOUTcast v2, you don't need root access just access to the server admin

ie

http://<IP ADDRESS>:<PORT>/admin.cgi?pass=<PASSWORD>&sid=1&mode=viewxml&page=4

- Sorry you would have to be able to write code, I used php and javascipt
- you could set it to not play the same artist or song, any developer would be able to do that, fairly simple
- my method keeps the SMARTMIX playlist in Centova active, it regenerates every 30 minutes and takes over the auto dj entirely... my clients have a button they can enable/disable it
My Auto DJ
Orlando, FL USA
Quality SHOUTcast Hosting http://myautodj.com
SHOUTcast Widgets http://shoutcastwidgets.com
If you set the playlist type to "General Rotation" it will fix the issue of playing the same artist too frequently.  I had the same issue at first as well.
Thanks, Rob916, but that is exactly how it all started. I had everything on General Rotation, but the AutoDJ seemed to have an unhealthy fixation on a few songs and played them obsessively... Perhaps if I stuck wit it for a while, as you seem to have done, things would have sorted themselves out. But I did try for a couple of days and started looking for an alternative, because it would be impossible to run a radio station like that. Every time a song repeats, you lose listeners.
That's weird.. I had that issue at first, it would play the same artist 3 times in a row sometimes which is a no-no, I did some reading into it and found that Centova does have some code to prevent that from happening if you use general rotation (I was using interval at first), once I switched I have not had that issue in a couple years. 
That's weird.. I had that issue at first, it would play the same artist 3 times in a row sometimes which is a no-no, I did some reading into it and found that Centova does have some code to prevent that from happening if you use general rotation (I was using interval at first), once I switched I have not had that issue in a couple years.

Just to clarify, Centova Cast doesn't prevent tracks by the same artist from playing in succession, but rather it will prevent the same exact track from playing more than once in a given period of time (by default 6 hours).

http://www.centova.com/en/faq/cast3/information/limiting_performances_of_a_single_track_in_given_time_period


Regards.
Just to clarify, Centova Cast doesn't prevent tracks by the same artist from playing in succession, but rather it will prevent the same exact track from playing more than once in a given period of time (by default 6 hours).

Roger, does that behavior apply to Interval playlists as well? The picture above shows exactly the same song being played twice in a matter of minutes from a timed playlist with around 50 tracks that is set to play one song randomly every 180 minutes. This sort of behavior has been happening quite often with me.
Just to clarify, Centova Cast doesn't prevent tracks by the same artist from playing in succession, but rather it will prevent the same exact track from playing more than once in a given period of time (by default 6 hours).

Roger, does that behavior apply to Interval playlists as well? The picture above shows exactly the same song being played twice in a matter of minutes from a timed playlist with around 50 tracks that is set to play one song randomly every 180 minutes. This sort of behavior has been happening quite often with me.

It only applies to "general rotation" lists that are set to random.  Roger is correct however about the same artist, it MAY play the same artist again within a short period of time but if you have a large general rotation playlist you wouldn't see that happen too often however it will fix the issue with the same track playing again within a short time frame.  Hope this helps!
It only applies to "general rotation" lists that are set to random.  Roger is correct however about the same artist, it MAY play the same artist again within a short period of time but if you have a large general rotation playlist you wouldn't see that happen too often however it will fix the issue with the same track playing again within a short time frame.  Hope this helps!

Thanks, Rob916, but in fact it gets weirder and weirder. If it works in random General Rotation lists, it should apply equally to random Interval lists, the only difference being that instead of playing the next song from the list right away it will play that after xxx minutes (in the case at hand, 180 minutes, although in the example above the exact same song was played after a few minutes). I apologize for being insistent, but what is baffling me is that apparently when song selection is random, the interval becomes random as well, which defeats the purpose. I set those interval lists precisely to avoid artist repetition (if you have, say, several artists with 50 songs each in a 5000-song playlist, chances of repetition are quite high).

There are other implications as well. I have a folder with long songs (over 10 minutes), which I configured to play randomly only once every 24 hours. This, however, does not work at all. Sometimes two of those are played within the same hour.

Perhaps I am overextending the next-song algorithm by setting so many rules just to avoid artist repetition. Anyway, what is becoming growingly clear to me is that the AutoDJ's behavior is unpredictable. Perhaps the best option to me would be to create specific sequential playlists, which is something I was trying to avoid. Let's hope the engine behaves as expected then...
I am now trying what Rob916 suggested, but so far it does not look very promising. I have now one large generic playlist with 2000 songs set as General Rotation with weight 20, and some 25 small playlists (30-50 songs each) also set as General Rotation with weight 1. These playlists contain artists that have a large number of songs. This, I believed, would make it quite unlikely that two songs from the same playlist would be picked consecutively.

Well, the AutoDJ, as shown below, managed to pull not two, but THREE songs from the same small list (weight 1, remember) in a row. Even without weights, statistically the chance of that happening would be extremely small. In addition, several songs have already repeated within a 24-hour period, although the whole library consists of over 12 days' worth of music without repetition. So, again: I believe there is something wrong with the randomization algorithm and I would suggest the guys at Centova have a look at that. I will keep trying to see if this behavior improves over time, as suggested by Rob916, but I am again considering the possibility of dropping the whole "Auto" thing and just giving the DJ a sequential playlist to chew on.