Harmonic Reductions As a Strategy for Creative Data Augmentation

Original phrase of a Bach Chorale (above) and artificial harmonic reduction generated from the roman numeral annotations (below)

Abstract

In this paper, we introduce a technique for generating large collections of artificial training examples, which can be used to train chord labeling, key detection, and roman numeral analysis models. The technique consists of using roman numeral analysis annotations of existing datasets to generate harmonic reductions of the chords implied by the original annotations. The artificially generated examples ignore the original notes of the annotated example (i.e., the specific voicings of the chords), replacing them with voicings suggested by a rule-based voice leading algorithm. A relatively large number of artificial examples can be generated from a single annotated progression using this technique. For example, 10 different voicings in 12 different keys would result in 120 artificial examples generated out of one annotated chord progression. The voicings suggested for different keys do not necessarily overlap, given that the range of the voices and other variables are taken into account by the rule-based algorithm. This results in data augmentation with potentially unique voicings in each key, contrary to what would be obtained by simply transposing the artificial examples to a different key. We show the process of applying this technique to a dataset of annotated Bach chorales from the KernScores website. Similar datasets with roman numeral analysis annotations could be used with this approach to generate a large number of artificial training examples for training machine learning models.

Publication
Late-Breaking Demo in 21st International Society for Music Information Retrieval Conference
Néstor Nápoles López
Néstor Nápoles López
PhD in Music Technology

I earned my PhD researching deep learning models for automatic Roman numeral analysis. Nowadays, I am one of the developers of the Sibelius music notation software.