Wednesday, January 2, 2008

The Similar Albums Feature

Every Backstage album page has a list of similar albums. The feature does not work all that well, and, of course, there's no real documentation on how its generated. I can make some guesses, however.

First, we know that some sort of averaging of the genomes is done at least one place in Pandora. We know that the list of thumbed-up tracks for any station is averaged to create a single seed. I suspect that the averaging is done as simply as possible. I suspect that the genomes are, in the end, long binary strings: does this song have this quality (yes/no). [Pandora is currently playing DeGarmo's "Boy Like You" just to taunt me right now.] I suspect that when Pandora needs an average, it simply takes the straight numerical average of this binary string.

Second, the secret-sauce of Pandora is the distance metrics that it has developed on the genomes to assess "nearness". The creation of the metric on a binary vector space will have been done with a bit of statistics and a lot of tweaking. I suspect that all the genomes have been adjusted to have the same length with a lot of entries zeroed out for attributes which were not assessed at the time of analysis. (That is, when analyzing a harpsichord performance of a Scarlatti sonata the question of whether the track has "trip-hop roots" will not be considered.) Distance metrics would then be constructed on that binary state-space so that nearness can be measured across genomes.

The metric (if all the previous speculation is true) would be a simple linear vector in the n-dimensional state space defined by the n-digit uber-genome which essentially supplies weights indicating which characteristics (like tempo) are more important than other characteristics (like the presence or absence of "thin synth textures").

There might only be one such distance metric used throughout Pandora and there might be several. The most important one is the one which selects songs. I suspect that they calculate a list of a hundred or so nearest neighbors for each song in a database, and that the Player picks a track and then a random set of three other songs from that song's list to make a set and then applies all sorts of mandated constraints replacing tracks as necessary.

I would imagine that the lists of similar artists and similar albums are generated in a similar fashion to the algorithm used to generate the play-lists. Each Artist and and Album will have been reduced to an average of their respective tracks, and the distance between albums and artist may be computed using a different distance metric than used in the player, but the nearest-neighbor algorithm applied will likely be the same.

The big difference between the Player and the Backstage lists is, I suspect, that the Player databases are updated frequently and the Backstage lists are probably generated when the album or the artist is initially published to the Backstage database and are likely never updated. They might update the similar artists lists whenever a new album for that artist is analyzed, but I've seen no evidence that they do (not that I've observed the artist lists that closely over time). Thus, there might be "nearer" artists now available on the database, but the pages are never updated to reflect that fact.

Of course, the real problem with this method is the initial averaging of all the tracks for the artist or album. A diverse artist (or album) gets mushed to a single point in space where the very fact that they are diverse is probably a key characteristic in many people minds when comparing artists. Tom Conrad is pretty smart, and so they probably could measure the width of the footprint of the tracks in n-space via some second-order statistics beyond simple averages and use that in their nearness calculation, but the fact is that I don't think anyone cares all that much about the similar artist and album lists.

Monday, December 10, 2007

Assessing the Development of a Station: ASUD

Nowadays, the inputs that are used by a player for a particular station are almost entirely public. As long as, the person who created the station has not set their profile to private, you can read the lists of artists, song seeds, thumbed up tracks and thumbed down tracks.

Back in the early days, a few of us gathered at pandora-forums.com (now defunct and cybersquated). We came up with the idea of measuring the development of a station as a list of the number of Artist seeds, Song seeds, Ups and Downs (ASUD). Tim, IIRC, when he created the first version of pandorastations.com proposed a measure D which was equal to the sum of the numbers of Ups and Downs, but the rest of us had already grown used to ASUD. And I think it's still a useful place to start.

Artists It's good to keep the number of artists in the station separate from the other numbers because the number of tracks called upon by an artist seed is the one thing about a station which can change without the user's input. Pandora analyzes and makes available for play new tracks by an artist on an on-going basis. The number of tracks available for popular artist who is still recording will always tend to increase over time. The number is more static for more obscure artists. (Interestingly, the founder of Pandora, Tim Westergren, was in the band YellowWood Junction which has exactly three songs available for play and that number has not changed in the past year at least.)

Songs Each song which is added to the list of song seeds for a station becomes available to form the basis for a set of four songs to play on the player. As similar songs are added to the list the station generally becomes more and more focused. Thus, because the number of tracks represented by an artist seed is fairly random, dynamic and difficult to assess, the number of songs seeds is probably the second most important measure of a station's development (after the number of thumbs down).

Ups The entire list of thumbed up songs serves as a single possible basis for a set. I used to believe that all the thumbed up tracks could individually form the basis for a set, but the Pandora FAQ now definitively states that that is not the case. Thus, the number of Ups gives a good idea of how much the creator has listened to a station, but it's the least important measure of the development of a station.

Downs On the other hand, the number of thumbed down tracks is an absolutely crucial indication of how well developed a station is. No thumbed down track will ever play on the station again, and, as long as no track by an artist appears in any of the other three lists (artist seeds, song seeds, or thumbed up tracks), two Downs ban all the tracks by that artist from the station. Thus, unless you are consciously moving tracks into the list of song seeds, cutting out songs one by one via the thumbs-down is the most usual way to incrementally improve a station.

The best measure of a station's development would be a count of all the songs which can be the basis for a set and a count of all the tracks that cannot play on that station. Unfortunately, those two numbers are difficult to calculate and until they become readily available ASUD is the best surrogate we have.

Friday, November 30, 2007

Dear Santa Pandora

After nearly two years of listening to Pandora I think I'm finally ready to state with some clarity my wish list for improvements to Pandora. Here're are my Christmas wishes for the coming year:

Filters: I'd like to be able to filter out the songs which play on a station on at least a subset of the genome characteristics. Yes, I know there's difference between the focus traits and those which comprise the underlying genomes. And I know that the genomes do not necessarily have many or even any traits in common. But creating stations which only play songs with humorous lyrics or only female vocalists should not be impossible as it has been to date.

Moving Ups To Seeds: It’s now fairly clear that once the number of thumbs-up given to a station reaches a certain point (maybe 20 or 50) that additional thumbs-up have virtually no impact to a station. And so to continue to shape a developed station you must operate on the list of seeds. I’d like to have an additional button under the thumb-up list on the station page which says “MOVE CHECKED TO SONG SEEDS”.

Banned Artists: I’d like a button on the station page that enables the user to calculate and display the artists which are currently banned on a station.

Identify Unencoded Song Seeds: This problem is becoming smaller over time since fewer unencoded tracks are being added to the db. Still, it is unconscionable that there is no way to tell when a song seed is, in fact, unencoded and therefore its presence in the list of song seeds is bringing in all the material of an artist. We should be able to push a button under the list of song seeds on the station page to show any such cases in the list of seeds.

Mobile Quickmix Play: Please display the originating station for the track being played.

Fix Searching for Classical Tracks: I’m so glad Classical is now available, and I can accept the various compromises like only one recording per opus, but Classical is truly crippled right now by the fact you can’t add individual tracks to stations.

Net Song Seeds: I’d like to have a button on the station page that would calculate the net number of seed tracks and net number of banned tracks for the station. The called program would generate the list of all encoded tracks available as seeds (both from the artist and song seed lists) remove all the tracks from the thumbed down tracks and banned artists for the station and return the count as the net seeds. Similarly, the program would return a count of the tracks from thumbed down tracks and banned artists. These two numbers would be the true measure of the current development of a station.

Oh, and a pony, I suppose. I love Pandora, and it would continue to be my primary source of music even with no improvements, but it could be made even more fun for me with these improvements.

Wednesday, October 24, 2007

Station Story: Prog Rog

If you created a QuickMix with my Prog Rog and Pioneers of Electronica stations, you'd basically have everything I was listening to in high school. I lived in Hermosa Beach in Southern California at the time, and a few blocks away was a Music Plus store which was part of a regional chain of record stores. There was a small bin for electronic music which single handedly weaned me from the easy listening radio stations that my parents listened to in the car.

The first record I ever bought was Walter (later Wendy) Carlos' Switched On Bach when I was in third grade. The synthesizer captured my imagination even at that young age, and so when we moved to So. Cal. and I started high school it was a natural progression for me to start listening to the electronic music of the era and rock groups which featured synthesizers which, at the time, meant Progressive Rock.

The holy triumvirate at the time were ELP, Yes and Genesis. But, thanks to some staffer at Music Plus who'd handwrite little reviews on address stickers and put them on selected albums in the import bins, I also discovered Novalis and Goblin during that era. I was so pleased when these latter two groups were covered by Pandora this year. Oddly, though I did purchase a copy of "Leftoverture" at the time, I did not consider Kansas to be Prog Rock at all then though I do now. I also was skeptical about Queen because their albums of the time boasted that "no synthesizers were used on this record". But I eventually accepted them into the fold as well.

Pandora has helped me flesh out the station a bit. The most out-there band in the set has to Ruins which came long after the others on the station, but provide some truly interesting and difficult (in many senses) tracks. On the other hand, Starcastle, PFM, Van Der Graaf Generator and Egg are all much more central to the genre.

The station occasionally strays into more mainstream rock one side and Fusion on another, and, in general, the station is below average on the monthly listening tests. Nevertheless, some of my favorite music from my high school days is played by this station.

Station Review: The Darjeeling Limited stops at two stations

Wes Anderson is a director who is known for the music in his films. Unfortunately, I'm not sure that his sense of taste transefered to these two promotional stations.

The title of his latest film serves as the name for the first station, The Darjeeling Limited (click to play). It would not surprise me if the four song seeds for this station are featured in the film. Nevertheless, the resulting station is pretty poor since there neither any other seeds nor feedback to flesh out the station. The result here is some blues rock vocals.

The second station, Wes Anderson Films* (click to play), is somewhat more interesting but less coherent. It consists only of eight song seeds, but at least the variety is interesting since it covers tracks by Devo, David Bowie, Cat Stevens and Paul Simon. Again, it's a bit Boomerish, but that's probably appropriate for the topic.

And with that review, I'm officially caught up with the influx of promotional stations after the Internet Radio crisis.

Station Review: SingStar presents two

SingStar seems to be a Karaoke Revolution competitor for the PS2 which is one of the better advertiser fits for Pandora that I've seen.

The first station this promotion offers is SingStar '80s* (click to play). They threw eight hits from the Eighties into a station and walked away without a single look back. Meh. I've heard worse, but, still, they put the 'F' in 'effort' with this one.

They took the exact same approach with SingStar Amped* (click to play). In this case the eight songs seem to be from the Nineties.

Station Review: The Honda Odyssey delivers four

My guess is that it's a car even though the first feature the copy on the Pandora profile page mentions is Bluetooth.

Breaking Free* (click to play) is one of the better designed promotional stations. There are four artist seeds and seven additional song seeds. The idea of connecting the High School Musical soundtrack to REM and They Might Be Giants is an interesting one. The two songs I've heard so far have been strange and good. The station has a little feedback with three thumbs up and three thumbs down.

On the other hand, Truckin'* (click to play) is a much more marginal effort. It's based on four tracks from the Eighties and earlier and minimal feedback (one thumb up and two thumbs down). Yet another boomer nostologia station. Will one of the two remaining stations be Hip Hop? Be still my heart.

Well, the next one, Ticket To Ride (click to play) is a bit moldier (if not Hip Hop), focussing on the Sixties and Seventies. The station is based on six artists and one additional song. You know, The Beatles are surprisingly rare as seeds for promotional station, but they're one of the seeds for this station. The feedback consists of two thumbs up. There are better stations covering this era.

No Hip Hop for the last station, surprisingly. Instead, I've Been Everywhere (click to play) looks at earnest balladiers with Johnny Cash and Dan Zanes and Friends as the artist seeds plus seven additonal song seeds. Like the first station this one is a bit more interesting than most promotional stations. It also has a tiny bit more development than most promotional staions with one thumb up and five thumbs down.