IVI: Modeling Schenkerian Analysis

My current project, IVI (pronounced like the vine) is about studying the process of Schenkerian analysis, which is a type of music analysis that illustrates how the musical objects in a piece of music relate to each other. Specifically, people perform this type of analysis by identifying hierarchical relationships among the notes and chords in a composition, illustrating the function of notes by relating them to surrounding notes. This set of relationships, taken collectively, illuminates the inner workings of a composition by viewing the piece as a set of successive elaborations of a fundamental background structure.

My work in this area uses probabilistic models to represent an analysis. I have uncovered statistically significant patterns in the way people perform Schenkerian analysis (Kirlin and Jensen, 2011) and demonstrated a way to produce an algorithm capable of analyzing new music in a Schenkerian fashion (Kirlin, 2014).

I have a data set of Schenkerian analyses encoded in a textual format available for those who are interested.

MARPLE: Theme Finding

It is a common musicological problem to determine what the various themes and motifs are in a piece of music. MARPLE is a computational system that finds, clusters, and ranks all salient or interesting note patterns in a given piece of music.

VoiSe: Voice Segregation

colored notes Finding multiple occurrences of themes and patterns in music can be hampered due to polyphonic textures. This is caused by the complexity of music that weaves multiple melodies together. VoiSe is capable of isolating individual voices in both explicit and implicit polyphonic music.

Java MusicXML Reader and Music Manipulator

xml code I am very enthusiastic about the MusicXML format for storing symbolic musical data such as scores. I am working on a set of Java classes that will be able to read a MusicXML file and store the music in a data structure that can be manipulated through programming. This would be useful for any sort of symbolic musical data processing.