Forums » Bugs & Problems Search

Playlist "skip" bug or mis-use? New Reply

Author Post
Posts: 90
Registered: Aug 29, 2008

Hi,

I was experimenting with prepending song_id's with a hyphen as input to artist-radio playlists to see the effect. I noticed in my testing that it didn't always suppress the track in the playlist.

In one case, I noticed when I gave an artist-radio a playlist two "negative" songs, one of those songs appeared in the playlist:

>>> p = playlist.static(type='artist-radio', artist='Radiohead', limit=True, buckets=['tracks', 'id:7digital-US', 'audio_summary'], min_duration=70, max_duration=540, results=20, song_id=['-SOHVBCX1288D3FA298',u'-SOXIJCD12AF72A067E'])
INFO:pyechonest.util:http://developer.echonest.com/api/v4/playlist/static?max_duration=540&song_id=-SOHVBCX1288D3FA298&song_id=-SOXIJCD12AF72A067E&artist_pick=song_hotttnesss-desc&artist=Radiohead&variety=0.5&bucket=tracks&bucket=id%3A7digital-US&bucket=audio_summary&results=20&min_duration=70&limit=true&api_key=ZZZZ&type=artist-radio
INFO:pyechonest.util:took 6.69s: (200)
>>> p[-4].id
u'SOHVBCX1288D3FA298'

I can't replicate it, because playlist generation is rather non-deterministic (at least from the web API PoV).

[If you have it in your logs, it'll be roughly 28 Aug 2011, 12:20 GMT, my API key starting with "6X".]

Posts: 90
Registered: Aug 29, 2008

FWIW, it wasn't a one-off. That song keeps reappearing like a bad penny:

 In [97]: p = playlist.static(type='artist-radio', artist='Radiohead', limit=True, buckets=['tracks', 'id:7digital-US', 'audio_summary'], results=20, song_id='-SOHVBCX1288D3FA298')
 INFO:pyechonest.util:http://developer.echonest.com/api/v4/playlist/static?song_id=-SOHVBCX1288D3FA298&artist_pick=song_hotttnesss-desc&artist=Radiohead&variety=0.5&bucket=tracks&bucket=id%3A7digital-US&bucket=audio_summary&results=20&limit=true&api_key=ZZZZZ&type=artist-radio
 INFO:pyechonest.util:took 2.33s: (200)

 In [98]: map (so, p)
 Out[98]: [(u'Placebo', u'The Never-Ending Why', 203.59791999999999),
  (u'U2', u'Desire', 178.88607999999999),
  (u'The Good, the Bad & the Queen', u'Three Changes', 255.18974),
  (u'Pulp', u'Death Goes To The Disco', 343.03955000000002),
  (u'Primal Scream', u'Swastika Eyes', 393.16852),
  (u'The Smashing Pumpkins', u'Dreaming', 311.95382999999998),
  (u'The Verve', u'Make It Till Monday (Acoustic)', 164.64934),
  (u'David Bowie', u'Sell Me A Coat', 179.06891999999999),
  (u'New Order', u'Dreams Never End', 196.49261000000001),
  (u'Peter Murphy', u'Cool Cool Breeze (Live)', 173.19138000000001),
  (u'Mogwai', u'Sweet Leaf', 355.08199999999999),
  (u'Manic Street Preachers',
   u'La Tristesse Durera (Scream To A Sigh)',
   253.04771),
  (u'Roxy Music', u'Love Is The Drug', 244.68853999999999),
  (u'Lou Reed', u'Perfect Day', 223.8167),
  (u'Sigur R\xf3s', u'Sigur 6  (Untitled)', 528.45667000000003),
  (u'The Smiths', u'The Boy With The Thorn In His Side', 196.33588),
  (u'Morrissey',
   u"It's Hard To Walk Tall When You're Small",
   209.44934000000001),
  (u'Joy Division',
   u'Love Will Tear Us Apart (The 1980 Martin Hannett Version)',
   196.91057000000001),
  (u'Syd Matters', u'I Was Asleep', 199.57506000000001),
  (u'Coldplay', u'Bigger Stronger', 289.20116999999999)]

 In [99]: p[-4].id
 Out[99]: u'SOHVBCX1288D3FA298'
Posts: 90
Registered: Aug 29, 2008

...and I was able to replicate it by paging through a dynamic playlist. Manually.

Okay, introspecting that session_info makes it look like the song_id is not recorded by the playlist at all. So I guess the answer to my original question is "misuse".

Which is fine, now I know. But I was misled by the normally strict API conventions where irrelevant parameters are rejected. Is song_id ever used in an artist-radio playlist?

Posts: 713
Registered: Sep 08, 2008

Atl - currently, song_id is used as seed to the song playlist types. It seems reasonable to allow banning songs when creating a playlist in the way that you are doing it. We'll add it to the list. -- Paul

Posts: 90
Registered: Aug 29, 2008

Thanks, Paul.

Am I right to hope that "ban" isn't the same as a "negative boost"? It just suppresses the specific song, and doesn't change the overall seeding so as to discourage similar songs, right?

Adam

Posts: 713
Registered: Sep 08, 2008

atl - yes, that is correct.

Reply to this Thread

You must log in to post a reply.