The jMusicMetaManager software package is designed to help profile and manage large research (and other) collections of music and to detect metadata errors and inconsistencies in such collections.

The metadata that one finds associated with music from sources such as the ID3 tags of MP3 recordings or the Gracenote CD Database is often noisy in terms of reliability and consistency. This is problematic, as the quality of such metadata can be essential in many music information retrieval (MIR) research projects. Manual correction can be extremely time consuming, and even the most conscientious proofreaders can miss errors when dealing with huge collections of music. Automatic metadata correction tools such as jMusicMetaManager are clearly necessary.

Some of the important problems that jMusicMetaManager detects are the inconsistencies and redundancies caused by multiple spellings of what should be one value. For example, uncorrected occurrences of both “Lynyrd Skynyrd” and “Leonard Skinard,” or of the multiple valid spellings of composers such as Stravinsky, would be problematic for an artist identification system that would be incorrectly trained to see works actually by the same artists as being by different artists. Another important advantage of jMusicMetaManager is that it detects redundant and potentially mislabeled copies of recordings that could contaminate evaluation results by being placed in both training and testing subsets.

At its simplest level, jMusicMetaManager calculates the Levenshtein (edit) distance between pairs of entries. A threshold is used to determine whether two different entries likely should in fact correspond to the same value. This threshold is dynamically weighted based on the length of the strings. This approach, while helpful, is too simplistic to detect the full range of problems that one finds in practice, and results in either too many false negatives or too many false positives, depending on the threshold. Twenty-three additional processing types were therefore implemented, and additional post-modification distances are calculated.

For example, a variety of find/replace operations are performed so that symbols with identical meaning are processed as such. For instance, occurrences of “in’” can be replaced with “ing”. Multiple edit distance calculations can also be performed with varying word orderings (e.g., “Cash Johnny” should match “Johnny Cash”), as well as with different word subsets (e.g., perhaps “Duke Ellington” should match “Duke Ellington & His Orchestra”). Filters based on information such as recording length also play an essential role in avoiding false positives when searching for redundant copies of recordings.

jMusicMetaManager can extract metadata from iTunes XML files as well as from MP3 ID3 tags. Since MIR research systems do not typically read these formats, jMusicMetaManager can also be used to translate ground-truth data from these sources to ACE XML or Weka ARFF files.

jMusicMetaManager also automatically generates 39 different HTML-formatted statistical profiling reports about music collections, including multiple data summary views and breakdowns of co-occurrences between recordings, artists, composers, albums and genres. This allows one to easily publish database profiles on-line and review the contents of databases from a variety of perspectives.

jMusicMetaManager is used to manage the Codaich music research database.

Screen Shots


Additional functionality beyond what is described here is available in jMusicMetaManager's manual.

Related Publications

McKay, C. 2010. Automatic music classification with jMIR. Ph.D. Thesis. McGill University, Canada.

Angeles, B., C. McKay, and I. Fujinaga. 2010. Discovering metadata inconsistencies. Proceedings of the International Society for Music Information Retrieval Conference. 195–200.

McKay, C., D. McEnnis and I. Fujinaga. 2006. A large publicly accessible prototype audio database for music research. Proceedings of the International Conference on Music Information Retrieval. 160–3.

Questions and Comments


-top of page-