WARNING: This software uses web services provided by The Echo Nest, Last.FM and Music Brainz. If these web services have been changed or deprecated since jSongMiner was originally released in 2010, then these portions of jSongMiner may no longer function properly.


jSongMiner is a software package for auto-identifying songs and extracting metadata about them from various sources on the web and elsewhere. This software was originally designed for use in the context of digital libraries, but it can certainly be adopted for other purposes as well. For example, it could be used as a means of obtaining cultural features for automatic music classification, or even for annotating personal music collections. For those users who do wish to use jSongMiner in the context of a digital library, it has been designed specifically to be integrated with the Greenstone digital library software, and Greenstone modules have been implemented for using jSongMiner to build Greenstone collections.

jSongMiner begins by identifying unknown audio files using fingerprinting. Alternatively, it can also identify songs using metadata queries, either using metadata that is embedded in an audio file or using known metadata about a song. Once jSongMiner has identified a song, it can then extract metadata about the song from various sources, such as from The Echo Nest, Last.FM and Music Brainz web services, or from miscellaneous metadata embedded in the audio file. In addition to extracting metadata about songs, jSongMiner can also extract metadata about artists and albums associated with songs as distinct resources.

Once metadata has been extracted relating to a song, artist or album, this metadata can be saved as an ACE XML 1.1 Classifications file or as a return-delimited text file, or it can simply be printed to standard out. Each piece of metadata extracted by jSongMiner includes the metadata field label, the metadata value and the source from which the metadata was derived. Users can also opt to have the extracted metadata presented using unqualified or qualified Dublin Core tags, if desired.

In all, jSongMiner can extract well over 100 song, artist and album fields. Many of these fields can have multiple values (e.g. there may be multiple songs similar to a given song).

Like the rest of jMIR, jSongMiner is open-source and available for free. It is implemented in Java in order to maximize cross-platform utilization. The one exception to this is its use of the Echo Nest fingerprinting codegen binary, but the Echo Nest provides versions of this binary for use with Windows, OS X and Linux. In any case, jSongMiner can certainly be used without the local fingerprinting functionality offered by the Echo Nest codegen if necessary.

Advantages of jSongMiner


Many more details on jSongMiner are available in the jSongMiner Manual.

Related Publications

McKay, C., and D. Bainbridge. 2011. A musical web mining and audio feature extraction extension to the Greenstone digital library software. Proceedings of the International Society for Music Information Retrieval Conference. 459–464.

Questions and Comments



-top of page-