music icon

Music Python Library

From the CORGIS Dataset Project

By Ryan Whitcomb rwhit94@vt.edu
Version 2.0.0, created 5-18-16
Tags: music, songs, artists, creativity, media

Overview

This library comes from the Million Song Dataset, which used a company called the Echo Nest to derive data points about one million popular contemporary songs. The Million Song Dataset is a collaboration between the Echo Nest and LabROSA, a laboratory working towards intelligent machine listening. The project was also funded in part by the National Science Foundation of America (NSF) to provide a large data set to evaluate research related to algorithms on a commercial size while promoting further research into the Music Information Retrieval field. The data contains standard information about the songs such as artist name, title, and year released. Additionally, the data contains more advanced information; for example, the length of the song, how many musical bars long the song is, and how long the fade in to the song was.

<Thierry Bertin-Mahieux, Daniel P.W. Ellis, Brian Whitman, and Paul Lamere.
The Million Song Dataset. In Proceedings of the 12th International Society
for Music Information Retrieval Conference (ISMIR 2011), 2011.>

Explore Structure

Each row represents $MISSING_FIELD.

Index Type Example Value
0 dict { }
1 dict (same structure)
2 dict (same structure)
... ... ...
Key Type Example Value Description
"artist" dict { }
"release" dict { }
"song" dict { }
Key Type Example Value Description
"familiarity" float 0.581793766 A measure of 0..1 for how familiar the artist is to listeners.
"hotttnesss" float 0.401997543 A measure of the artists's popularity, when downloaded (in December 2010). Measured on a scale of 0 to 1.
"id" str "ARD7TVE1187B99BFB1" A unique ID for this artist.
"latitude" float 0.0 The home location's latitude of this artist.
"location" int 0 Unknown.
"longitude" float 0.0 The home location's longitude of this artist.
"name" str "Casual" The name of the artist.
"similar" float 0.0 Unknown.
"terms" str "hip hop" The term most associated with this artist.
"terms_freq" float 1.0 The frequency of this term.
Key Type Example Value Description
"id" int 300848 The ID of the release (album) on the service 7digital.com
"name" int 0 Unknown value
Key Type Example Value Description
"artist_mbtags" float 0.0 Unknown field.
"artist_mbtags_count" float 0.0 Number of tags for the artist on mbtags.
"bars_confidence" float 0.643 Confidence value (between 0 and 1) associated with each bar.
"bars_start" float 0.58521 Average start time of each bar, measured in bars.
"beats_confidence" float 0.834 Average confidence interval of the beats.
"beats_start" float 0.58521 Average start time of each beat, measured in beats.
"duration" float 218.93179 Duration of the track in seconds.
"end_of_fade_in" float 0.247 Time of the end of the fade in, at the beginning of the song.
"hotttnesss" float 0.60211999 A measure of the song's popularity, when downloaded (in December 2010). Measured on a scale of 0 to 1.
"id" str "SOMZWCG12A8C13C480" A uniquely identifying number for the song.
"key" float 1.0 Estimation of the key the song is in. Keys can be from 0 to 11.
"key_confidence" float 0.736 Confidence value (between 0 and 1) of the key estimation.
"loudness" float -11.197 General loudness of the track
"mode" int 0 Estimation of the mode the song.
"mode_confidence" float 0.636 Confidence value (between 0 and 1) of the mode estimation.
"start_of_fade_out" float 218.932 Start time of the fade out, in seconds, at the end of the song.
"tatums_confidence" float 0.779 Confidence value (between 0 and 1) associated with each tatum.
"tatums_start" float 0.28519 Average start time of each tatum, measured in tatums.
"tempo" float 92.198 Tempo in BPM.
"time_signature" float 4.0 Time signature of the song, i.e. usual number of beats per bar.
"time_signature_confidence" float 0.778 Confidence of the time signature estimation
"title" int 0 Name of the song.
"year" int 0 Year when this song was released, according to musicbrainz.org.

Downloads

Download all of the following files.

  1. music.py
  2. music.data

Usage

import music
music = music.get_music()

Documentation

get_music()
Returns a list of dictionaries representing music.