/mung

Music Notation Graph: a data model for optical music recognition.

Primary LanguagePythonMIT LicenseMIT

MuNG

The mung (Music Notation Graph) package implements a graph representation of music notation that is especially amenable to Optical Music Recognition (OMR). It was used for instance in the MUSCIMA++ dataset of music notation.

Python application PyPI version Documentation Status License: CC BY-NC-SA 4.0 codecov

Requires Python >= 3.6 and was tested with Python 3.11.

Getting started

  1. Install this package: pip install mung
  2. Download the MUSCIMA++ dataset.
  3. Run through the tutorial.

Fundamentally, the Music Notatation Graph is a very simple construct:

It stores the primitives that can be detected by a Music Object Detector as nodes and then store the relations between those nodes. But the devil is in the details. To better understand what kind of relations are useful and which kind of relations are stored for common western music notation, check out the annotator instruction from MUSCIMarker.

Dataset

The dataset itself is available for download here and due to its derived nature, licensed differently:

abc License: CC BY-NC-SA 4.0

Introduction to MUSCIMA++ Video

Watch Jan give a 30 minute introduction into this dataset on YouTube, which explains many design decisions and thoughts that directly affected the creation of the MuNG format:

Introduction to MUSCIMA++