• Welcome to RadioDJ - Free Radio Automation Software Forum. Please log in or sign up.

Artist Separation

Started by The Beat, September 17, 2016, 06:41:41 AM

The Beat

Hi all-

Sorry to ask, but I seem to still be having problems with artist sepration and multiple artists.  I think everythingt is set up right- including a the file setup "feat.,feat,and,... etc") but it seems to still play song by "artist 1" and a few songs later a collaboration "artist 1 and artist 2"

Why could this be happening?

Thanks for any advice.

Valdis

First, you have to understand how the artist separation feature works.
AutoDJ does not use the values in settings_artists.txt during track selection. If a track by "The Roots" is already in the main playlist, AutoDJ will happily select a track by "The Roots feat. Joanna Newsome" or "The Roots" because AutoDJ does a simple comparison and "The Roots" is not equal to "The Roots feat. Joanna Newsome", so it is considered a different artist.

RadioDJ uses settings_artists.txt values to split artist's name when a track is played. If it detects multiple artists, it updates the artist_played field to a current time for all matching artist's names. The artist_played timestamps are used to determine if a track can be selected.
For instance, when a track by "The Roots feat. Joanna Newsome" is played, RadioDJ splits the artist's name to "The Roots" and "Joanna Newsome", and updates all matching tracks using WHERE `artist` LIKE '%The Roots%' OR `artist` LIKE '%Joanna Newsome%' SQL condition which is case-insensitive and matches anywhere in a text string. That, however, is done only for multi-artist tracks. For single-artists tracks, the artist's name matching is exact and case-sensitive. E.g., when RadioDJ starts playing a track by "The Roots", only the tracks by "The Roots" are updated.
I am, therefore I think.
I design and develop web apps, and have created few RadioDJ plugins - https://axellence.lv/downloads/

The Beat

Thank you for your reply.  Forgive me, but I still do not understand.  I thought the purpose of artist separation was to allow us to space artists from themselves.  Are you saying it only logs the history for song count reasons; not to stop:

Michael Jackson & Paul McCartney - The Girl Is Mine

from playing next to either:

Michael Jackson - Beat It

or

Paul McCartney - No More Lonely Nights

In my experience using music schedulers since the early 80s, every time an artist is scheduled , it is automatically spaced by the spacing rules in the scheduling software.  This software does not do that?

Then, should I mis-label the artist field to "one or the other" to get some sort of spacing?  Our audience can only take so much Michael Jackson.  :)

If it is not set up to apply the rules to each artist (at least as an option), it could sound funny and potentially break the US internet streaming rules.

Please explain.

Valdis

Okay, I'll try to explain it in simpler terms.

If "Michael Jackson & Paul McCartney - The Girl Is Mine" is in the main playlist, a track by "Michael Jackson" or "Paul McCartney" might be added to the playlist.
When "Michael Jackson & Paul McCartney - The Girl Is Mine" is played, artist separation feature will mark all tracks matching "Michael Jackson" or "Paul McCartney" (including all tracks mentioning either in artist's name) as recently played and they will not be selected for the duration of time specified as artist repeat rule. And if RadioDJ has already queued a track by "Michael Jackson" or "Paul McCartney", it will be played. RadioDJ does not remove a track from the playlist if the artist matches one of the detected artists.

Marius has stated more than once that the artist separation feature is experimental.
I am, therefore I think.
I design and develop web apps, and have created few RadioDJ plugins - https://axellence.lv/downloads/

Jhonny

#4
If i understand well artist separation works on:  (as the separator & is present in the list)
Michael Jackson & Paul McCartney - The Girl Is Mine.
and
Michael Jackson & Paul McCartney - Ebony and Ivory.

on the use of:

WHERE `artist` LIKE '%Michael Jackson%' OR `artist` LIKE '%Paul McCartney%'

All of the tracks of

Paul McCartney and Michael Jackson will set as played, even Diana Ross & Michael Jackson - A Brand New Day.

i say yes.

Or em i wrong?


R.T.F.M. means to me, Read The Fantastic Messages.
Einstein says: Make things simple, but don't make simple things simpler! (wise) this is just my life lesson you know.

I don't do drugs ( ͡° ͜ʖ ͡°)
The Radiodj tutorials site is now managed by Domstad radio .nl still  Just in English

The Beat

So basically, it does separate all of the artists as I described... however, not if they are already in the playlist?  I understand it won't pull a song out of the playlist.  However, I have events that clear & create playlists a few times an hour.  We are also using this on an FCC licensed FM station and want to be sure it is right.

-Does it log to the artist file when it plays the song... or when it schedules?  Doing it the way we do it, I am wondering if it logs history on artists/songs that might not get played... simply because they showed in the playlist.

We have a top 40/rhythmic format and Nikki Minaj is on 10% of our stuff.  We sure wish we could avoid playing her more than other artists.  What do you suggest?

Valdis

@Jhonny: Yes, that's correct.

Quote from: The Beat on September 19, 2016, 08:47:01 AM
So basically, it does separate all of the artists as I described... however, not if they are already in the playlist?  I understand it won't pull a song out of the playlist.  However, I have events that clear & create playlists a few times an hour.  We are also using this on an FCC licensed FM station and want to be sure it is right.
When the queue is cleared, AutoDJ repopulates it using the active rotation, excluding any tracks that have been marked as recently played according to repeat rules.

Quote from: The Beat on September 19, 2016, 08:47:01 AM
-Does it log to the artist file when it plays the song... or when it schedules?  Doing it the way we do it, I am wondering if it logs history on artists/songs that might not get played... simply because they showed in the playlist.
RadioDJ updates fields in the songs database table when a track is played, not when it is scheduled.

Quote from: The Beat on September 19, 2016, 08:47:01 AM
We have a top 40/rhythmic format and Nikki Minaj is on 10% of our stuff.  We sure wish we could avoid playing her more than other artists.  What do you suggest?
Ah, Ms Minaj and her gazillion collabs. And, I'm guessing, you are having a similar thing going for Drake.
I am, therefore I think.
I design and develop web apps, and have created few RadioDJ plugins - https://axellence.lv/downloads/

clubfmlasvegas

Quote from: Valdis on September 17, 2016, 11:33:14 AMRadioDJ uses settings_artists.txt values to split artist's name when a track is played. If it detects multiple artists, it updates the artist_played field to a current time for all matching artist's names. The artist_played timestamps are used to determine if a track can be selected.

In other words, if you have a large number for the "Keep in Playlist" value (in Options -> Auto DJ), you increase the risk of RDJ repeating an artist earlier than your separation rules specify. To be more clear: You increase the risk of that violation to happen within the X minutes of time it would take to begin playing the last song in the list of already-picked tracks.

That seems like a gross error, especially that it isn't explained in any FAQs. (Is there a plan for an FAQ for RDJ? rather than leaving users to dig through forum posts that often don't explain a solution)

Huge thanks to Marius and the RDJ team for his immense hard work on this project! I don't want to sound ungrateful, because I am VERY grateful to have RDJ (near) flawlessly running my stations and costing me $0 to do so. But I do believe that there are some sticky issues that need a formal explanation and described solution -- that would routinely save me headaches when I'm trying to figure out how to do something that potentially pushes RDJ's limits.

Thanks again Marius & Co! ;)