Files

Abstract

The Python library ms3 makes scores (symbolic representations of music) operational for computational approaches by representing their contents as sets of tabular files. Music scores represent relations between sounding events by graphical means. The Free and Open Source Software MuseScore provides a full-featured yet intuitive interface for engraving music, but its native XML format does not explicitly encode the temporal positions of events such as notes and rests. ms3 loads the XML tree of a MuseScore file into working memory, computes the temporal positions of all encoded elements, and transforms those requested by the user into DataFrames which can be used by other Python programs or written to Tab-Separated Values (TSV). The extracted elements include notes, measures (bars), metadata, and text labels, in particular those representing analytical annotations. The library turns MuseScore into a convenient score annotation tool by enabling users to graphically insert into a score arbitrary textual labels, to then have ms3 extract them with their temporal positions for further analysis. Moreover, it allows one to (re-)insert annotations from TSV files, whether previously extracted or generated from scratch). ms3 comes with a command line interface that makes its data extraction, transformation, and validation functionalities accessible for productive everyday workflows.

Details

PDF