Skip to content

Latest commit

 

History

History
89 lines (65 loc) · 3.29 KB

README.md

File metadata and controls

89 lines (65 loc) · 3.29 KB

Santos Discography / Lyrics Analyser

Ever wondered if those positively charged songs are more successful than others? How has the sentiment of a musician's lyrics changed over time? How rich is their vocabulary or how popular are their individual albums among fans? Then you're in the right place.

Santos Discography / Lyrics Analyser is a Jupyter Notebook (Python) based interface to download and visualise music artists' discography data, statistics and lyrics sentiment.

High level overview:

For any given musician/band name:

  • retrieves the discography of studio albums,
  • allows user to select albums from a list, then retrieves lyrics for songs on selected albums,
  • collects data such as owners and album ratings from DISCOGS.COM, album and song placement in official Billboard music charts,
  • performs lyrics sentiment analysis and generates scores,
  • with a simple user interface, allows users to browse a number of visalisations (by user defined period intervals where applicable).



Quick demo

<iframe width="560" height="315" src="https://www.youtube.com/embed/zorbor8p1Hc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Example visualisations:


• number of songs and albums over time [Example: David Bowie]


image01

• lexical diversity over time [Example: Eminem]

image02

• word clouds by album or period [Example: David Bowie]

image03


• Discogs album ratings and statistics [Example: Depeche Mode]

image04

image05


• lyrics sentiment scores across artist's discography [Example: Eminem]

image06.1

• lyrics sentiment scores by song in specific album [Example: Eminem]

image06.2

• success of tracks and albums in Billboard charts over time

image07

• success in Billboard charts vs lyrics sentiment [Example: David Bowie]

image08

• lyrics sentiment over time [Example: David Bowie]

image09

Dependencies:

APIs and web scraping
lyricsgenius
lxml.html
cssselect
discogs_client
requests
lyricsmaster
data processing and charts
matplotlib
pandas
numpy
time
seaborn
fuzzy_pandas
chord
UI
ipywidgets
IPython
tqdm
word processing
re
os
nltk
string
wordcloud