These are projects posted by the students of Dr. Gove Allen at Brigham Young University. These students have taken one semester-long course on VBA and generally have had no prior programming experience

Thursday, December 9, 2010

Pandora Playlist Creator

I have long been an avid user of’s internet radio website. Pandora works by taking songs and/or artists provided by the user, identifying specific traits in the songs (or songs by the provided artist), and then looking for songs with similar traits from a vast library of music. As an example of the traits identified by Pandora, the following is a list of traits for the song “Flake” by Jack Johnson:

- mellow rock instrumentation

- a subtle use of vocal harmony

- mild rhythmic syncopation

- acoustic sonority

- major key tonality

- a vocal-centric aesthetic

- a dynamic male vocalist

- slide/pedal steel guitars

- acoustic rhythm guitars

My project aims to draw upon Pandora’s collection of traits and songs to create an individualized “station” (that is, a list of songs) from the songs in the user’s iTunes library. Specifically, the program will read the songs in an XML file (the file type exported by iTunes) and allow the user to select a song or songs; the program will then identify the traits in those selected songs. The user can then select any number of these traits and, at the push of a button, the program will find ALL songs in the user’s iTunes library which feature those selected traits. In the end, much like a Pandora radio station, the user will have displayed a list of songs that boast a particular desired musical trait. Although Pandora naturally does not have data for all songs, Pandora’s collection of traits is still impressive and should make for an interesting method of finding songs similar to those chosen by the user.

Important Note: For a library with hundreds/thousands of songs, finding traits for each song online takes a LONG time. The workbook posted here has most of the songs saved in an archive (corresponding to a sample library XML file that I would have attached here but had difficulty doing so - I emailed it to Dr. Allen); only a few songs will be searched for online for the sake of time.



No comments:

Post a Comment

Blog Archive