Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
{
"license": "CC-BY-NC-SA-4.0",
"contributors": [
{
"name": "Neuwirth, Markus",
"type": "Annotator",
"orcid": "0000-0003-1990-052X"
},
{
"orcid": "0000-0002-1986-9545",
"type": "DataCurator",
"affiliation": "Anton Bruckner University Linz",
"type": "DataCurator",
"name": "Johannes Hentschel"
}
],
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ and serves as welcome page for both

For information on how to obtain and use the dataset, please refer to [this documentation page](https://dcmlab.github.io/ABC/introduction).

When you use (parts of) this dataset in your work, please read and cite the accompanying data report:

_Neuwirth, M., Harasim, D., Moss, F. C., & Rohrmeier, M. (2018). The Annotated Beethoven Corpus (ABC): A Dataset of
Harmonic Analyses of All Beethoven String Quartets. Frontiers in Digital Humanities, 5(July), 1–5.
https://doi.org/10.3389/fdigh.2018.00016_

The ABC forms part of the larger [Distant Listening Corpus](https://github.com/DCMLab/distant_listening_corpus)
which constitutes a data infrastructure the data report of which has implications for the present corpus, too:

_Hentschel, J., Rammos, Y., Neuwirth, M., & Rohrmeier, M. (2025). A corpus and a modular infrastructure for the
empirical study of (an)notated music. Scientific Data, 12(1), 685. https://doi.org/10.1038/s41597-025-04976-z_

# The Annotated Beethoven Corpus (ABC) (A corpus of annotated scores)

The ABC dataset consists of expert harmonic analyses of all Beethoven string quartets
Expand Down
248 changes: 248 additions & 0 deletions unfolded_harmonies/n01op18-1_01_unfolded.harmonies.resource.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
{
"name": "n01op18-1_01_unfolded.harmonies",
"type": "table",
"path": "n01op18-1_01_unfolded.harmonies.tsv",
"scheme": "file",
"format": "tsv",
"mediatype": "text/tsv",
"encoding": "utf-8",
"dialect": {
"csv": {
"delimiter": "\t"
}
},
"schema": {
"fields": [
{
"name": "mc",
"type": "integer",
"title": "Measure Count",
"description": "Running count of encoded <Measure> tags which do not necessarily express a full measure (e.g. in case of an anacrusis).",
"constraints": {
"required": true
}
},
{
"name": "mn",
"type": "string",
"title": "Measure Number",
"description": "Measure number as printed in the score, computed from mc, dont_count and numbering_offset."
},
{
"name": "mc_playthrough",
"type": "integer",
"title": "Measure Count Unfolded",
"description": "Has the function of the \"mc\" column in tables with unfolded repeats where \"mc\" is not unique.",
"constraints": {
"required": true
}
},
{
"name": "mn_playthrough",
"type": "string"
},
{
"name": "quarterbeats_playthrough",
"type": "string",
"title": "Offset from the beginning, including all repeats (in unfolded tables)",
"description": "Distance from the piece's beginning, including all repeats. This column is present in unfolded representations that correspond to a full 'playthrough' including all repetitions.",
"constraints": {
"pattern": "\\d+(?:\\/\\d+)?"
}
},
{
"name": "quarterbeats_all_endings",
"type": "string",
"title": "Offset from Beginning (counting through alternative endings as if they were adjacent bars)",
"description": "Distance from the piece's beginning, taking all endings into account for addressability purposes.",
"constraints": {
"pattern": "\\d+(?:\\/\\d+)?"
}
},
{
"name": "duration_qb",
"type": "number",
"title": "Duration in \u2669",
"description": "A float corresponding to duration * 4"
},
{
"name": "mc_onset",
"type": "string",
"title": "Offset within Encoded Measure",
"description": "Distance of an event from the beginning of the <Measure> tag.",
"constraints": {
"pattern": "\\d+(?:\\/\\d+)?"
}
},
{
"name": "mn_onset",
"type": "string",
"title": "Offset within Logical Measure",
"description": "Distance from the beginning of the logical measure. Relevant, for example, to compute the metric position of an event.",
"constraints": {
"pattern": "\\d+(?:\\/\\d+)?"
}
},
{
"name": "timesig",
"type": "string",
"title": "Time Signature",
"description": "Given as string, e.g. \"4/4\"."
},
{
"name": "staff",
"type": "integer",
"title": "Staff",
"description": "Number of the staff where an event occurs, 1 designating the top staff."
},
{
"name": "voice",
"type": "integer",
"title": "Notational Layer",
"description": "A number between 1-4 where 1 is MuseScore's default layer (blue), 2 the second layer in green with downward stems, etc."
},
{
"name": "label",
"type": "string",
"title": "Label",
"description": "String corresponding to the entire annotation label."
},
{
"name": "globalkey",
"type": "string",
"title": "Global Key",
"description": "The key of the entire piece as note name, lowercase designating a minor key."
},
{
"name": "localkey",
"type": "string",
"title": "Local Key",
"description": "The key that a Roman numeral is relative to, expressed as a Roman numeral relative to the global key."
},
{
"name": "pedal",
"type": "string",
"title": "Pedal Point",
"description": "Specified as Roman numeral."
},
{
"name": "chord",
"type": "string",
"title": "Chord",
"description": "The part of an annotation label that corresponds to the actual chord label."
},
{
"name": "special",
"type": "string",
"title": "Special Label",
"description": "Column where special labels such as \"Fr6\" or \"Ger65\" are stored which are converted internally to Roman numerals."
},
{
"name": "numeral",
"type": "string",
"title": "Roman Numeral",
"description": "The Roman numeral part of a DCML label, lowercase for all chords with a minor third."
},
{
"name": "form",
"type": "string",
"title": "Chord Category",
"description": "%, o, +, M, +M"
},
{
"name": "figbass",
"type": "string",
"title": "Chord Inversion",
"description": "7, 65, 43, 2, 64, 6 or empty for root position."
},
{
"name": "changes",
"type": "string",
"title": "Changes",
"description": "Alterations, suspensions, additions, and omissions, written within parentheses in the chord label."
},
{
"name": "relativeroot",
"type": "string",
"title": "Relative Root",
"description": "The Roman numeral following the / in applied chords. Can itself include a /. For example, V/V if the label pertains to the major scale on the second scale degree."
},
{
"name": "cadence",
"type": "string",
"title": "Cadence",
"description": "PAC, IAC, EC, DC, PC, HC, and HC subtypes such as HC.SIM"
},
{
"name": "phraseend",
"type": "string",
"title": "Phrase Annotation",
"description": "The phrase annotation part of a DCML label, can be {, }, or }{. In an older version, the only label was \\\\"
},
{
"name": "chord_type",
"type": "string",
"title": "Chord Type",
"description": "'M', 'm', 'o', '+', 'mm7', 'Mm7', 'MM7', 'mM7', 'o7', '%7', '+7', '+M7'"
},
{
"name": "globalkey_is_minor",
"type": "boolean",
"title": "Global Key is Minor",
"description": "Boolean that is 1 if the piece is in minor and 0 if it is in major."
},
{
"name": "localkey_is_minor",
"type": "boolean",
"title": "Local Key is Minor",
"description": "Boolean that is 1 if the local key is minor and 0 if it is major."
},
{
"name": "chord_tones",
"type": "string",
"title": "Chord Tones",
"description": "Tones expressed by the label, as fifth intervals relative to the local tonic.",
"constraints": {
"pattern": "^[([]?(?:-?\\d+\\s*,?\\s*)*[])]?$"
}
},
{
"name": "added_tones",
"type": "string",
"title": "Added Tones",
"description": "Chord tones considered as added, expressed as fifth intervals relative to the local tonic.",
"constraints": {
"pattern": "^[([]?(?:-?\\d+\\s*,?\\s*)*[])]?$"
}
},
{
"name": "root",
"type": "integer",
"title": "Root",
"description": "Pertaining to MuseScore encoding."
},
{
"name": "bass_note",
"type": "integer",
"title": "Bass Note",
"description": "Loweste note designated by the chord label, expressed as fifth intervals relative to the local tonic."
}
],
"facet": "harmonies",
"identifier": "r0jDASilZMUcog",
"filepath": "harmonies/r0jDASilZMUcog.schema.yaml",
"used_in": "01op12a_unfolded"
},
"creator": {
"@context": "https://schema.org/",
"@type": "SoftwareApplication",
"@id": "https://pypi.org/project/ms3/",
"name": "ms3",
"description": "A parser for MuseScore 3 files and data factory for annotated music corpora.",
"author": {
"name": "Johannes Hentschel",
"@id": "https://orcid.org/0000-0002-1986-9545"
},
"softwareVersion": "2.6.0"
}
}
Loading
Loading