jMIR is an open-source software suite implemented in Java for use in music
information retrieval (MIR) research. It can be used to study music in both
audio and symbolic formats as well as mine cultural information from the web
and manage music collections. jMIR includes software for extracting features,
applying machine learning algorithms, mining metadata and analyzing metadata.
The primary emphasis of jMIR is on providing software for general research
in automatic music classification and similarity analysis. The main goals of
the project are as follows:
- Make sophisticated pattern recognition technologies accessible to music
researchers with both technical and non-technical backgrounds.
- Eliminate redundant duplication of effort.
- Increase cooperation and communication between research groups.
- Facilitate iterative development and sharing of new MIR technologies.
- Facilitate objective comparisons of algorithms.
- Facilitate research combining high-level, low-level and cultural musical
features (i.e. symbolic, audio and web-mined features).
In order to meet these goals, all aspects of jMIR are open source and distributed
free under a GNU
General Public License. The software is well-documented and include GUIs
in order to increase general usability. A special emphasis has been placed on
software architectures that facilitate extensibility for those technically inclined
users who wish to modify or add to the software.
More details are available in the academic publications
on jMIR's components or in this PowerPoint
presentation from 2007 on jMIR and its role in automatic music classification research.
The manuals and other documentation for each jMIR component may also be individually
along with the corresponding software.
Each of the components comprising the jMIR software suite may be used entirely
separately or as an integrated whole. The components communicate with each other
using files in either ACE XML or Weka
ARFF formats. The components are as follows:
Data Mining and Machine Learning
- ACE: Pattern recognition software that utilizes meta-learning.
Evaluates, trains and uses a variety of classifiers, classifier ensembles
and dimensionality reduction algorithms based on the needs of each particular
- ACE XML: Standardized file formats for representing information related to automatic music classification, including feature values, feature metadata, insance labels and class ontologies.
- jMIRUtilities: Tools for performing miscellaneous tasks, such as labelling instances, extracting data from Apple iTunes XML files, merging features extracted from different sources, etc.
- jAudio: Software for extracting low and high-level
features from audio recordings.
- jSymbolic: Software for extracting high-level
features from MIDI recordings.
- jWebMiner: Software for extracting cultural
features from web text.
- jLyrics: Software for mining lyrics from the web and extracting textual features from them.
Education and Audio Production
- jProductionCritic: Educational software for automatically finding technical redording and production errors in audio files.
Data and Metadata
- jSongMiner: Software for identifying unknown
audio and extracting metadata about songs, artists and albums from various
web services and embedded sources.
- jMusicMetaManager: Software for profiling
music collections and detecting metadata errors and redundancies.
- Codaich, Bodhidharma MIDI and SLAC: Labeled datasets
for training, testing and evaluating MIR systems.
- Bodhidharma: MIREX 2005-winning software
for classifying MIDI recordings by genre. The ancestor of ACE and jSymbolic.
Graphical Overview of Music Classification Tasks and Corresponding
(Original) jMIR Components:
-top of page-