Tree-Structured Representations of Timed Data

Tree-Structured Representations of Timed Data
An abstract hierarchical intermediate representation of music notation.

This abstract model of digital musical score is used as an intermediate representation in applications related to the processing of written music. Its principle is that, like in symbolic music notation, durations are defined hierarchically, be recursive division of time-spans.

In Computer Science, timings are generally represented by numerical values: floating point numbers or integers when expressed in number of clock ticks. This is in particular the case for digital formats for storing music performances, whether audio, spectrograms, or MIDI files (discrete sets of events assigned with a start time and duration).

Written music notation is however a symbolic format, where notes’ durations are expressed with a small set of symbols, corresponding to durations defined by successive divisions (whole notes, half notes etc) and combined with some constructions (ties, dots, tuplets…). The digital encodings of music scores, either text or XML, are also symbolic. However, they structure their musical content essentially sequentially, despite the hierarchical organisation of the written music content in common notation (with horizontal and vertical grouping of events).

In the IR that we are proposing, implemented on the TSM library, the temporal data of written music content is represented in the form of DAGs (shared node trees), whose branches correspond to divisions of time intervals. Such tree-like representations are common in the fields of musicological analysis and musical composition assistance tools (see e.g. these articles published at MCM’15, MEC’15, TENOR’17 or in the IFIP WG 1.6 on term rewriting). In the case of our model, they allow the use of formal tools such as rewriting or formal languages formalisms for processing and reasoning on digital musical scores.

The Tree-structured Score Model (TSM) is available as a C++ library and a Python module. It allows the construction of digital musical scores, their transformation, and is used as a central Intermediate Representation in various music processing problems, such as automated music transcription, or music score transformation or comparison.
It also offers facilities for evaluating musical notation complexity and similarity measures. It can be exported into several XML music encodings such as MEI and MusicXML (work of Clément Buon for the latter).