1. Voyage of (music) discovery

    In an attempt to discover new music, I’ve been using the random ‘radio’ feature of various online music services. I pick an artist or a genre that I like, and let the service suggest tracks that are related to that. Based on that, I’ve been able to infer something about the algorithms that each service uses. Here’s what I’ve worked out so far.

    Pandora

    GET chosen_artist_or_genre
    SET albums = the_3_related_albums_we_have_permission_to_play
    REPEAT
       PLAY random_song_from(albums)
       PLAY random_song_from(albums)
       PLAY ad_for_kosher_adult_diapers
    END

    Spotify

    GET chosen_artist_or_genre
    SET songs = songs_approximately_like_song_user_likes
    SET song = random_song_from_selected_set(songs)
    REPEAT
       FOR i FROM 1 TO 3
          IF was_last_played_less_than_3_minutes_ago(song)
             PLAY something_else
          ELSE
             PLAY song
          END
       END 
       SELECT ad FROM (ad_for_spotify_feature,ad_for_artist_in_totally_unrelated_genre)
       PLAY ad
    END

    Rdio

    GET chosen_artist_or_genre
    REPEAT
       IF random(5) > 0
          SET songs = songs_exactly_like_song_user_likes
          SET song = worst_song_in_selected_set(songs)
          PLAY song
       ELSE
          PLAY random_song_by_conor_obersts_bright_eyes
       END
    END
    

Notes

  1. rainblog posted this