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




Index Type Example Value
0 dict { }
... ... ...
Key Type Example Value Comment
"song" dict { }
"release" dict { }
"artist" dict { }
Key Type Example Value Comment
"key" float 1.0 Estimation of the key the song is in. Keys can be from 0 to 11.
"bars_confidence" float 0.643 Confidence value (between 0 and 1) associated with each bar.
"artist_mbtags_count" float 0.0 Number of tags for the artist on mbtags.
"bars_start" float 0.58521 Average start time of each bar, measured in bars.
"time_signature" float 4.0 Time signature of the song, i.e. usual number of beats per bar.
"tatums_confidence" float 0.779 Confidence value (between 0 and 1) associated with each tatum.
"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"
[Preview ]
A uniquely identifying number for the song.
"end_of_fade_in" float 0.247 Time of the end of the fade in, at the beginning of the song.
"title" int 0 Name of the song.
"tatums_start" float 0.28519 Average start time of each tatum, measured in tatums.
"year" int 0 Year when this song was released, according to musicbrainz.org.
"beats_start" float 0.58521 Average start time of each beat, measured in beats.
"loudness" float -11.197 General loudness of the track
"start_of_fade_out" float 218.932 Start time of the fade out, in seconds, at the end of the song.
"beats_confidence" float 0.834 Average confidence interval of the beats.
"artist_mbtags" float 0.0 Unknown field.
"key_confidence" float 0.736 Confidence value (between 0 and 1) of the key estimation.
"mode_confidence" float 0.636 Confidence value (between 0 and 1) of the mode estimation.
"mode" int 0 Estimation of the mode the song.
"tempo" float 92.198 Tempo in BPM.
"time_signature_confidence" float 0.778 Confidence of the time signature estimation
"duration" float 218.93179 Duration of the track in seconds.
Value Count
"SOOJJYM12A8C144778" 1
"SOCWMZG12AAF3B2AE1" 1
"SOVCWYN12AB0181888" 1
"SOFOGUH12A8C1449BD" 1
"SORFAAB12A6D4F7EAC" 1
"SOTDRNJ12A8C137751" 1
"SOWNMUN12AB0188EA9" 1
"SOCWKCI12A8C136DBB" 1
"SODHFOI12A58A78491" 1
"SOIFTWG12AF72A1F55" 1
"SOCSOYD12A8C13AF1B" 1
"SOGYTNT12A6D4F906F" 1
"SOCPHKW12AB0182D36" 1
"SOBJVKE12A8AE44914" 1
"SOWIMLB12AC468D1F3" 1
"SODNKBI12A8AE48AD0" 1
"SOKQFOM12A8C13E738" 1
"SOJIMPZ12AAF3B5B92" 1
"SOWIMQH12A8C13BB7C" 1
"SOFKSJC12A8C13483C" 1
"SOBLUAT12A8C140982" 1
"SORQSRN12AB018102E" 1
"SONVCGW12A81C23489" 1
"SOLHGND12AB0189E22" 1
"SOZPMSM12AB018A95F" 1
"SODMQNG12AB0187811" 1
"SOVBLUQ12A81C20920" 1
"SORYJIP12A8C139505" 1
"SODOXQL12AB01843D3" 1
"SOJHUKL12A58A7E7FD" 1
"SOHOPYC12AB0188EFC" 1
"SODRHUY12A6D4F79D6" 1
"SOVSWSL12A58A7856D" 1
"SOAUGJA12AB01869AF" 1
"SOPQTWV12AC3DF9853" 1
"SOSJEIO12A58A7A674" 1
"SOKZCJC12AF72A8C79" 1
"SORDUJI12AB0183D3F" 1
"SOKYMFL12AF72A25AA" 1
"SOXINEE12AB0189B66" 1
"SOGGZNB12A8C142178" 1
"SOGHVNS12A8C139B59" 1
"SOEKAOG12AB0188100" 1
"SOJISRJ12A8C1323D7" 1
"SONFXQX12AB01872A4" 1
"SOSEOFA12A8C13E2BD" 1
"SOFMJHO12A58A7C148" 1
"SOVKRNJ12CF5F876BB" 1
"SOWOTCY12AC907329A" 1
"SOCWFQT12AB0188AA1" 1
"SOJVLTP12A8C13C83A" 1
"SOOHXAA12AB018A1D2" 1
"SOOJNDD12A6D4F99E5" 1
"SOAMLPM12A8C13501C" 1
"SOJXRWG12AC9E15691" 1
"SOYJZTG12A81C23239" 1
"SOQJQUF12AB0184B38" 1
"SOXAOZI12A8C139BB1" 1
"SOHYVTD12A8C130A40" 1
"SORMLXW12A58A76039" 1
"SOBSEPQ12A6701FD9E" 1
"SOBNTOJ12A8C133435" 1
"SOCGTRV12AAA15DE67" 1
"SOVLDMX12A8C141DB5" 1
"SOCHDXC12A8C13837F" 1
"SOUWONL12A8C13EA27" 1
"SOHGJTR12A6D4FB972" 1
"SOKIXDM12A8C136E04" 1
"SOGAGGI12AB0183FC6" 1
"SOVATLZ12A8C135595" 1
"SONPXHA12AB017D876" 1
"SOZVZIO12AB017C39B" 1
"SOGXKOP12A58A7FA1C" 1
"SOOABJR12A58A779B0" 1
"SOWDLGO12AB0182434" 1
"SOUFDQA12AB0189758" 1
"SOOYYUG12A8C1440CA" 1
"SOLFRPO12AB018C705" 1
"SOPRYHK12A8AE47858" 1
"SOXIFNK12AB0186B11" 1
"SOMJBYD12A6D4F8557" 1
"SONFCKJ12AB0185138" 1
"SOZUHVM12AB0186FAD" 1
"SOCLQKJ12AF72A4AB0" 1
"SOSNZMS12A58A791D0" 1
"SOTELUQ12A6D4F7CFD" 1
"SONYUSG12AB018AA7C" 1
"SOPJBSM12AB0182B14" 1
"SOSTFTW12A8C13B84A" 1
"SOCUPHK12A6D4FC491" 1
"SOCOQRG12A8C13C62C" 1
"SOAHTKN12A6D4FC189" 1
"SOZOEJC12CF5CFAD99" 1
"SOWBVJL12A8AE4720C" 1
"SORRZGD12A6310DBC3" 1
"SORFCGF12AF729DD6E" 1
"SOVYKGO12AB0187199" 1
"SOSUEIX12AB0185021" 1
"SOTCGFW12A6D4F3B84" 1
"SOVKAUG12AC468672A" 1
... ...
Key Type Example Value Comment
"name" int 0 Unknown value
"id" int 300848 The ID of the release (album) on the service 7digital.com
Key Type Example Value Comment
"familiarity" float 0.581793766 A measure of 0..1 for how familiar the artist is to listeners.
"similar" float 0.0 Unknown.
"latitude" int 0 The home location's latitude of this artist.
"longitude" int 0 The home location's longitude of this artist.
"name" str "Casual"
[Preview ]
The name of the artist.
"location" int 0 Unknown.
"id" str "ARD7TVE1187B99BFB1"
[Preview ]
A unique ID for this artist.
"terms" str "hip hop"
[Preview ]
The term most associated with this artist.
"terms_freq" float 1.0 The frequency of this term.
"hotttnesss" float 0.401997543 A measure of the artists's popularity, when downloaded (in December 2010). Measured on a scale of 0 to 1.
Value Count
"Mario Rosenstock" 13
"Phil Collins" 12
"Sugar Minott" 12
"The Jackson Southernaires" 12
"Aerosmith" 12
"Line Renaud" 11
"Nick Cave & The Bad Seeds" 11
"Bill & Gloria Gaither" 11
"Snow Patrol" 11
"Mikey Dread" 11
"Radiohead" 11
"Shakira" 10
"Stevie Ray Vaughan And Double Trouble" 10
"Jacques Douai" 10
"Ayo" 10
"The Del McCoury Band" 10
"White Heart" 10
"Red Hot Chili Peppers" 10
"Selena" 10
"Pumpkin Buzzard" 10
"Michael Jackson" 10
"RUN-DMC" 10
"Michael Stanley Band" 9
"Leroy Hutson" 9
"Daniel Johnston" 9
"Van Halen" 9
"Cali" 9
"Mariano Yanani" 9
"2 Minutos" 9
"DJ Nasty" 9
"Seal" 9
"Hank Locklin" 9
"Sister Hazel" 9
"Los Fabulosos Cadillacs" 9
"The Marx Brothers" 9
"R. Carlos Nakai" 9
"Jimmy Riley" 9
"Madonna" 9
"Les Ogres De Barback" 9
"Skeeter Davis" 9
"George Lopez" 9
"Behemoth" 8
"Michael Bloomfield" 8
"Der Plan" 8
"Vangelis" 8
"The Winans" 8
"Rickie Lee Jones" 8
"Britney Spears" 8
"Marco Beltrami" 8
"Chris Brown" 8
"The Real Kids" 8
"Alexandre Desplat" 8
"Helen Love" 8
"Charlie Peacock" 8
"The Rolling Stones" 8
"David Arkenstone" 8
"EPMD" 8
"Furry Lewis" 8
"Alice In Chains" 8
"BA(c)zu" 8
"Sex Pistols" 8
"Tony Joe White" 8
"Eminem" 8
"Juan Carlos Baglietto" 8
"Eric Burdon" 8
"Nestor Torres" 8
"Santana" 8
"Anti-Flag" 8
"Casual" 8
"Casiotone For The Painfully Alone" 8
"Bon Jovi" 8
"Agnostic Front" 8
"Otis Spann" 8
"Lionel Rogg" 8
"Rihanna" 8
"Justin" 7
"Mariah Carey" 7
"Richard Galliano" 7
"The Black Crowes" 7
"Eddy Raven" 7
"Wilks" 7
"Gran Coquivacoa" 7
"Jesse Malin" 7
"La Portuaria" 7
"Mons Leidvin Takle" 7
"Jay PA(c)rez" 7
"Bryan Ferry" 7
"Tyrone Taylor" 7
"The Impressions" 7
"Los Iracundos" 7
"Information Society" 7
"Steve Vai" 7
"Atreyu" 7
"Julien Clerc" 7
"Billie Jo Spears" 7
"Muse" 7
"The Fabulous Thunderbirds" 7
"Vivian" 7
"Kings Of Leon" 7
"Martina McBride" 7
... ...
Value Count
"AROIHOI122988FEB8E" 13
"ARVN9FZ1187FB393F1" 12
"ARJIE2Y1187B994AB7" 12
"AR12F2S1187FB56EEF" 12
"ARIRD6J1187FB5A98C" 12
"ARX9YIP1187B98A656" 12
"AR9W3X91187FB3994C" 12
"AREWQSE1187B9AEC6C" 12
"ARODBRG1187FB3FD99" 11
"AR78ZID1187B9B31ED" 11
"AR6PJ8R1187FB5AD70" 11
"ARH6W4X1187B99274F" 11
"ART3O5Z1187B9AB043" 11
"AR03BDP1187FB5B324" 10
"AR051KA1187B98B2FF" 10
"ARYDFJA1241B9CBFF2" 10
"ARCCRTI11F4C845308" 10
"AROF4LP1187FB41C51" 10
"ARI648V1187B9B5379" 10
"ARJ9DSA1187B990E00" 10
"AR7KA5V1187FB44E6B" 10
"ARE8GLF1187FB52532" 10
"ARN03F71187FB4E3F4" 10
"ARL3VGT1187FB40E8E" 10
"ARDVZTE1187FB5A0A1" 10
"ARXPPEY1187FB51DF4" 10
"AR8BMEQ1187B9B4214" 10
"ARY1P2B1187B9B78F5" 9
"ARRXPRY1187B9A8B34" 9
"ARO0R521187B98A2D1" 9
"AR0X3JJ1187FB3A9A7" 9
"ARD3LXU1187B9ABFC5" 9
"ARAIABB1187B9AC6E2" 9
"ARSQDUN1187B98D7D7" 9
"AREJ5K11187B993F5F" 9
"ARCII0J1187FB3A1B4" 9
"AR0O3AV1187FB4D030" 9
"ARYF20K1187B9B76BD" 9
"ARMPRI31187FB4F7D9" 9
"ARNLO5S1187B9B80CC" 9
"ARGBGC71187FB3DD0B" 9
"AREPD8D1187FB3F5BC" 9
"AR65K7A1187FB4DAA4" 9
"ARVEJ9M1187FB4DC44" 9
"ARPDVPJ1187B9ADBE9" 9
"ARD7U0O1187FB5531A" 9
"ARDY3451187B9A0226" 9
"ARZBYDY1187FB46DD7" 9
"ARVML4B1187FB52324" 9
"ARRH63Y1187FB47783" 9
"AR6CLFP1187B9ACB94" 9
"ARVUN5F1187FB4CCC7" 9
"ARD3ICK1187B9A56C9" 9
"ARBB58Y1187B9B621B" 9
"ARBEOHF1187B9B044D" 9
"ARRJNTE1187FB44E12" 8
"ARRJ3UC1187FB579D7" 8
"ARI4S0E1187B9B06C0" 8
"ARFCOGY1187FB454B4" 8
"ARKU3Z61187FB51DCA" 8
"ARSW5F51187FB4CFC9" 8
"ARE0OLY1187B9AD19F" 8
"ARXPE571187FB4AFD0" 8
"ARKFYS91187B98E58F" 8
"ARN8NCB1187FB49652" 8
"AR1OBRC1187FB59AD4" 8
"ARFCUN31187B9AD578" 8
"ARCZ20M1187FB49687" 8
"ARFONSP11F50C4D175" 8
"ARE08BN1187B98FCA3" 8
"ARN7OQ21187FB5A6B3" 8
"ARJRQL51187FB541AB" 8
"AR3752L1187FB4B67E" 8
"AR1N6N61187FB4E25E" 8
"ARTH9041187FB43E1F" 8
"ARHINI31187B995C1D" 8
"AR243ZT1187B9A98D2" 8
"ARDQO721187FB3C6D9" 8
"ARSPQ0H1187B999944" 8
"AR107SB1187B9A79F9" 8
"ARWSMC91187B9AD369" 8
"ARC8CQZ1187B98DECA" 8
"ARB054P1187B9AD32E" 8
"AR9YV621187B99373E" 8
"ARD7TVE1187B99BFB1" 8
"ARXJSHW1187B9A2A52" 8
"ARKSZW81187B9B695D" 8
"ARXOTQH1187FB57084" 8
"ARAZCWP129462A97F1" 8
"ARUSOMY1187FB4D3B4" 8
"AR7C6G11187B9B4C1E" 8
"AR7GOK91187FB455F5" 8
"AR4B3RX1187B9A868A" 8
"AR9OLFX1187B9A5762" 8
"ARU9KWP1187B98B2A7" 8
"ARUUXNF1187B98FB36" 8
"ARLR9U31187B9A71AD" 8
"ARMB95F1187B9B5B93" 8
"ARWI6LR1187FB46E9F" 8
"ARD0FN11187B9B25CD" 7
... ...
Value Count
"hip hop" 346
"blues-rock" 346
"ccm" 255
"chanson" 208
"country rock" 156
"latin jazz" 150
"post-grunge" 146
"dance pop" 141
"gangster rap" 134
"roots reggae" 131
"pop rock" 130
"progressive house" 119
"dancehall" 97
"heavy metal" 97
"power pop" 94
"rock" 92
"chill-out" 90
"salsa" 82
"jazz funk" 80
"hardcore punk" 79
"lovers rock" 76
"country gospel" 75
"honky tonk" 73
"post-hardcore" 72
"irish folk" 70
"folk-pop" 69
"dance rock" 67
"alternative metal" 67
"soundtrack" 65
"tech house" 65
"easy listening" 65
"country blues" 65
"western swing" 63
"hard rock" 62
"trip hop" 61
"blues" 59
"pop rap" 59
"smooth jazz" 58
"chinese music" 57
"flamenco" 56
"folk rock" 56
"soft rock" 54
"reggae" 52
"meditation" 51
"cantonese pop" 51
"experimental rock" 50
"southern gospel" 50
"disco" 48
"bluegrass" 48
"brill building pop" 48
"black metal" 48
"grunge" 48
"texas blues" 47
"ballad" 47
"delta blues" 46
"chicago soul" 46
"british pop" 45
"blue-eyed soul" 45
"los angeles" 45
"samba" 44
"new wave" 44
"indie rock" 42
"orchestra" 42
"country" 42
"tejano" 42
"chamber jazz" 41
"opera" 41
"instrumental pop" 41
"hard trance" 41
"brazilian pop music" 39
"europop" 39
"zydeco" 38
"dubstep" 38
"cumbia" 38
"glam rock" 37
"pop folk" 37
"future jazz" 37
"hard house" 36
"breakbeat" 36
"soukous" 36
"comedy" 35
"rock 'n roll" 35
"modern rock" 35
"singer-songwriter" 34
"oi" 34
"doo-wop" 34
"free jazz" 34
"happy hardcore" 33
"heartland rock" 33
"roots rock" 33
"chicago blues" 31
"ska punk" 31
"soul jazz" 31
"zouk" 30
"rap" 30
"reggaeton" 30
"lullaby" 30
"bossa nova" 30
"dirty south rap" 29
"bhangra" 29
... ...

Downloads

Download all of the following files.

Usage

This library has 1 function you can use.
import music
list_of_music = music.get_songs()
Additionally, some of the functions can return a sample of the Big Data using an extra argument. If you use this sampled Big Data, it may be much faster. When you are sure your code is correct, you can remove the argument to use the full dataset.
import music
# These may be slow!
list_of_music = music.get_songs(test=True)

Documentation

 music.get_songs(test=False)

Gets a list of all the songs in the database.