Mood of the Artist

The project is a visualization of the emotion of the music albums recorded by a particular artist. Each album for a particular artist is visualized based on the song titles in the album. Though song titles are not concrete indicators of emotion, but they still summarize the albums effectively.


Data Visualization, Sketching


Processing, Eclipse, Lucene, PHP, MySQL

Interactive Art & Computational Design

02.09.2012, 7 Days


I love listening to music and was really curious to know how do musicians evolve emotionally with time and number of records. I selected a couple of artists and downloaded the lyrics for all their published albums. I used the song titles in an album and gave a sentiment score to the words. The words were ranked on the scale of [-5, +5], -5 being the far end of negative emotion and +5 being the other end.

I added color to the words to signify the emotion that goes clockwise from Positive (Blue) to Negative (Red). In the third quarter of the circle the albums for the artist is drawn as smaller circles. Each album is then linked to the words contained in the song titles that are a part of that album. On hover over these circles, Name of the album, Track list and Release Year is displayed on the top left.


My initial idea was to use song lyrics instead of song titles for every album and visualize the emotion using words in the lyrics, more or less like sentiment analysis on paragraphs. I drew some initial sketches to see how would the visualization look like if I managed to get all the data processed and scored for sentiment.

Data Gathering

I used the and to download all the song lyrics for Led Zepellin, Nirvana, Radiohead, Beatles and Linkin Park.

Data Processing

The data had to be cleaned, to remove the stop words in English and break the words in root form. I wrote a code in Java to clean the code and store the results in the MySQL database.

    Ex Line: "Speaking words of wisdom, let it be."
  • Separating the lyrics into words using Lucene
    [speaking] [words] [of] [wisdom] [let] [it] [be]
  • Removing the stop words commonly occurring English Words.
    [speaking] [words] [wisdom] [let]
  • Stemming the words to its root form using Snowball Stemmer
    [speak] [word] [wisdom] [let]
    (The library does an awesome job of converting the words to its root form but also screws up with words like lazy -> lazi, breathing -> breath
  • Assigning an emotion score to the words
    a. Affective Norms for English Language(ANEW)
    b. AFINN
    c. SentiStrength