MusECI

MusECI, short for Musical Elementary Composable Ideas, is domain specific embedded language for representing musical structures in Python. MusECI takes an approach inspired by the idea of elementary composable ideas, or ECIs. ECIs are simple, atomic concepts that can be combined, or composed, to form more complex concepts and relationships. For example, there is some evidence to suggest that “surface” is one such concept that infants have and use to build other concepts, such as collections of surfaces forming objects and internal spaces. This style of representation has been proposed to underly human natural language processing tasks such as describing and referring to items and events in visual environments.

MusECI is a declarative and functional language that also has features of query languages. Musical features and operations are represented at the level of a paper score using objects that correspond closely to those found in parses of natural language sentences about music. MusECI also allows representation of partially-specified musical concepts and the matching of these templates against concrete values, facilitating a query operation for finding specific areas of a score referred to in a natural language sentence. MusECI is being integrated with the TRIPS parser for a use case called “composition by conversation,” where the human and computer take turns talking about and altering a musical score. Preliminary integration performed so far permits basic conversations where the human can direct the computer to alter individual notes. Many of the data structures used also mirror those found in other geometric tasks, such as moving objects in a two-dimensional space and disambiguating between entities with similar properties.

MusECI can also be used for basic algorithmic composition, as it features conversion of its data structures to and from MIDI file format and supports a number of commonly used musical transformations, such as retrograde and inversion. This generative side to MusECI is important for handling more complex interactive tasks that may require large alterations of a composition from a relatively simple utterance or the creation of new material from scratch, such as in response to “I don’t like the harmony in measure 2, try something different.”

Publications:

  • Donya Quick and Clayton T. Morrison, “Composition by Conversation,” in  Proceedings of the International Computer Music Conference
    [arXiv, pdf].