Skip to content

A dataset of key modulations that have been annotated in different music theory books

License

Notifications You must be signed in to change notification settings

DDMAL/key_modulation_dataset

Repository files navigation

Key Modulation Dataset

A dataset of key modulations that have been annotated in different music theory books.

Licensing

All the code in this repository is under the MIT License, except for the humdrum scores. All the scores are under the CC BY SA 4.0 License. The scores consist of all the files under the following folders:

  • aldwell
  • kostka-payne
  • reger
  • rimsky-korsakov
  • tchaikovsky

Dataset

The annotations consist of the following:

  • Kostka-Payne
    • Example 18-2
    • Example 18-3
    • Example 18-4
    • Example 18-6
    • Example 18-7
    • Example 19-1
    • Example 19-2
    • Example 19-3
    • Example 19-4
    • Example 19-5
    • Example 19-6
    • Example 19-10
    • Example 19-11
    • Example 19-12
  • Aldwell, Schachter and Cadwallader
    • Example 27-2-a
    • Example 27-2-b
    • Example 27-2-c
    • Example 27-3
    • Example 27-4-a
    • Example 27-4-b
    • Example 27-7
  • Tchaikovsky
    • Example 173
    • Example 183
    • Example 185
    • Example 189
    • Example 191
    • Example 193
    • Example 195
  • Max Reger
    • Examples 1-100
  • Rimsky-Korsakov
    • Example 3.5
    • Example 3.7
    • Example 3.8
    • Example 3.10
    • Example 3.14
    • Example 3.15
    • Examples 3.17

Humdrum Utilities

  • add_text_spine.py - Adds an empty **text spine at the end of the file (last column). Very helpful for when a file is not annotated yet and it is going to be annotated.
  • restaff.py - Replaces the *staff entries with a systematic numbering. Starting with *staff4 for the bass and up to *staff1 in the soprano. Assumes that there is a **text spine at the end and it has an empty *staff entry.
  • correct_spine_association.py - This figures out the correct *staffX that the **text spine should be pointing to at every slice. This is necessary in order to embed every annotation to a note, which many times is impossible if we annotate a single column.
  • get_keys.py - This gets the key annotations of a given file.

About

A dataset of key modulations that have been annotated in different music theory books

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published