LabROSA Automatic Playlist Generator


This document will try to explain the user interface for our automatic playlist generator. While the gui is a bit rough around the edges, the basic idea of an automatically generated playlist is there, along with all of the brains behind actually creating an interesting playlist.

The idea of the whole system is that the user provides a few "seed" songs, saying, "I'd like to listen to music like these songs," which the system then uses to find similar music. When the user plays a song all the way through, or presses the "good" button, a song is considered desireable for the current playlist. When the user skips a song by pressing the "bad" button, it is considered undesireable for the current playlist and will be avoided.


Download the demonstration program (restricted access). It requires java 1.4 or later, which can be downloaded from (click on the [download now!] button to the right of the page). To run our demonstration, simply double click on the file mp3gui.jar.

Concise Documentation


In this demonstration we will construct a rap playlist.

The first thing you should see is this startup screen. The "play" and "pause" buttons do what you would expect. The "repeat" button starts the current song over. The "good" and "bad" buttons are both for rating songs and the "seed" button is for starting a new playlist. In addition, the numbers on the top right are the time in the currently playing song and the check box entitled "rate good on finish" tells the system whether or not to continue to the next song automatically when the current song ends.
Click on the "seed" button to select the songs you would like to start listening to. The following dialog box will pop up:
Scroll down to "Dr Dre", click on the icon next to his name to see a list of hist albums. Open the album "2001" in the same way and then click on the song "Forget about Dre" to select it. It is possible to select multiple seeds by holding down the "control" key while you click on them, but we will not worry about that in this example. Furthermore, you can select an entire album or artist by clicking on its name. This is what your dialog box should look like after you've selected the seed song.
Click on the "OK" button to seed the playlist generator. The first song you selected will start playing. You will see the playlist window populated with about a dozen songs. The current song name is written in black, songs rated positive (including seed songs) are green, and songs the system is suggesting for you are shown in gray.
Either check the "rate good on finish" box and listen to the song all the way through, or click the "good" button to rate the song as good and start playing the next song. This is not a rap song, so click the "bad" button to interrupt playing and rate it as bad.
The player will start playing the Everlast song, which is also not rap. To expedite rating, you can select more than one song at a time by clicking on the first and then holding down the "control" key while clicking on further selections. In this way, select these songs. When you click the "bad" button now all of the selected songs will be rated bad, including the current song.
The songs you just rated will all turn red to indicate that they are bad, but will not be removed from the playlist so that you can rerate them if you change your mind. They will not be played when their turn comes but will be skipped. The Xzibit song in the middle starts to play, rate it as "good" when you feel like it.
Notice that the grey suggested songs change every time you rate the current song. Every time the next song starts playing, the system refines its idea of what it thinks would be best to play next and suggests that for you. This Everlast song is not rap, so rate it "bad".
At this point, the system has a relatively good idea what you're looking for. To make sure certain songs get played and aren't rotated out of the proposed list, select them as above.
After you click the "good" button, the system will have an even better idea what you were looking for. Sit back and enjoy the music!
Michael Mandel <>