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.

Downloads

Download all of the following files.

Usage

Begin by adding the above JAR file to your classpath. This library has 3 functions you can use.
import corgis.music.MusicLibrary;
import corgis.music.domain.*;
import java.util.ArrayList;

public class ExampleClass {
    public static void main(String[] args) {
        // Get access to the library
        MusicLibrary musicLibrary = new MusicLibrary();
        // Access data inside the library
        Music a_music = musicLibrary.getSongByName("I Didn't Mean To");ArrayList<Music> list_of_music = musicLibrary.getSongsByArtist("Aerosmith", false);ArrayList<Music> list_of_music = musicLibrary.getSongs(false);
    }
}
Additionally, some of the functions can optionally return Big Data using the last argument (setting it to true). If you use this Big Data, it may be much slower. Wait until you are sure your code is correct before using these examples.
import corgis.music.MusicLibrary;
import corgis.music.domain.*;
import java.util.ArrayList;

public class ExampleClass {
    public static void main(String[] args) {
        // Get access to the library
        MusicLibrary musicLibrary = new MusicLibrary();
        // Access data inside the library
        ArrayList<Music> list_of_music = musicLibrary.getSongsByArtist("Aerosmith", true);ArrayList<Music> list_of_music = musicLibrary.getSongs(true);
    }
}

Documentation

We provide full JavaDoc for this library. Alternatively, you may refer to the below:

 musicLibrary.getSongByName(title)

Given the title of a song, returns information about the song.

 musicLibrary.getSongsByArtist(artist, test)

Given the name of an artist, returns all the songs by that artist in the database.

 musicLibrary.getSongs(test)

Gets a list of all the songs in the database.