Beneath (or beyond) the surface: Discovering voice-leading patterns with skip-grams

06/27/2020
by   David R. W. Sears, et al.
0

Recurrent voice-leading patterns like the Mi-Re-Do compound cadence (MRDCC) rarely appear on the musical surface in complex polyphonic textures, so finding these patterns using computational methods remains a tremendous challenge. The present study extends the canonical n-gram approach by using skip-grams, which include sub-sequences in an n-gram list if their constituent members occur within a certain number of skips. We compiled four data sets of Western tonal music consisting of symbolic encodings of the notated score and a recorded performance, created a model pipeline for defining, counting, filtering, and ranking skip-grams, and ranked the position of the MRDCC in every possible model configuration. We found that the MRDCC receives a higher rank in the list when the pipeline employs 5 skips, filters the list by excluding n-gram types that do not reflect a genuine harmonic change between adjacent members, and ranks the remaining types using a statistical association measure.

READ FULL TEXT
research
07/14/2017

Modeling Harmony with Skip-Grams

String-based (or viewpoint) models of tonal harmony often struggle with ...
research
12/23/2019

Semantics- and Syntax-related Subvectors in the Skip-gram Embeddings

We show that the skip-gram embedding of any word can be decomposed into ...
research
06/17/2016

Learning Interpretable Musical Compositional Rules and Traces

Throughout music history, theorists have identified and documented inter...
research
12/03/2014

Skip-gram Language Modeling Using Sparse Non-negative Matrix Probability Estimation

We present a novel family of language model (LM) estimation techniques n...
research
07/17/2018

Psychological constraints on string-based methods for pattern discovery in polyphonic corpora

Researchers often divide symbolic music corpora into contiguous sequence...

Please sign up or login with your details

Forgot password? Click here to reset