Classical Music Metrics
한국어

Method & sources

Principles

Source

dcml — DCML corpora (Digital and Cognitive Musicology Lab, EPFL): Beethoven string quartets (ABC; Neuwirth, Harasim, Moss & Rohrmeier 2018), Beethoven piano sonatas (Hentschel et al. 2024), Bach English and French Suites and solo works (Hentschel et al. 2025), Bach chorales (converted from Kaiser 2002), Mozart's 18 piano sonatas (Hentschel, Neuwirth & Rohrmeier 2021, after the Neue Mozart-Ausgabe; added in 1.1). Note, measure and harmony tables extracted from MuseScore files with ms3. https://github.com/DCMLab · License: CC BY-NC-SA 4.0 (chorales: CC0 1.0)

kern370 — Craig Sapp, Bach 370 chorales (Humdrum **kern, Breitkopf & Härtel numbering). Second, independent encoding used to cross-check the chorale metrics. https://github.com/craigsapp/bach-370-chorales · License: CC BY-NC-SA 4.0

bmetr — Martín-Castro & Ucar (2020), "Conductors' tempo choices shed light over Beethoven's metronome", PLOS ONE 15(12): e0243616. Track lengths and coda tempo estimates for 36 conductors' complete Beethoven symphony cycles (1,332 tracks), plus metronome marks and bar counts from the scores. R package bmetr. https://github.com/Enchufa2/bmetr · License: MIT

asap — ASAP dataset (Foscarin et al., ISMIR 2020). Piano MIDI performances aligned beat-by-beat to scores: 169 Bach (Well-Tempered Clavier) and 271 Beethoven (sonatas); 169 and 259 of these have beat counts matching the score and only those are used. Version 1.1 adds Mozart: 6 movements (K.310/i, K.331/iii, K.332 complete, Fantasia K.475), 16 performances — one to five per piece, so they appear in tables but not in comparison charts. Performances come from MAESTRO (International Piano-e-Competition). https://github.com/fosfrancesco/asap-dataset · License: CC BY-NC-SA 4.0

nyphil — New York Philharmonic Performance History: works, composers and conductors on more than 15,000 programs from the first concert in December 1842 to the current season. Besides the Philharmonic proper, the archive holds programs of the New York Symphony, the Stadium concerts and chamber series; this site does not filter them out. Updated nightly. https://github.com/nyphilarchive/PerformanceHistory · License: CC0 1.0

wikidata — Wikidata (Wikimedia Foundation) person items: year of birth (P569) and death (P570). Composers with at least 10 NY Phil performances (U1) were searched by name; only human items with a music occupation were kept and checked against the composer's first season (born at least five years earlier). Names with several candidates or a failed check were resolved one by one by the editor. The matching table (composer_wikidata.csv) is published. https://www.wikidata.org/ · License: CC0 1.0

imslp — Composition year, genre tags, instrumentation and movement fields of IMSLP (International Music Score Library Project) work pages: ten composer categories and the Symphonies category, fetched through the MediaWiki API (allowed by robots.txt, two seconds between requests) and parsed by the editor. Added in 1.2. https://imslp.org/ · License: CC BY-SA 4.0

ellis — Helmholtz, On the Sensations of Tone, tr. A. J. Ellis, 3rd ed. (1895), Appendix XX, Section H: tables of historical pitch (Tables I and II), transcribed from the page images by the editor and checked against the 2nd edition (1885). Public domain. Added in 1.2. https://archive.org/details/onsensationsofto00helmrich · License: Public domain

Counting unit for repertoire (1.1)

The NY Phil archive lists work entries per program; an overture and an aria from the same opera are two entries. Version 1.0 counted each entry once (U0, 110,410 in all); 1.1 counts the entries the archive files under one work number on a program once (U1, 97,432). Arrangements given a different work number are counted separately. Either way the count is multiplied by the program's number of concerts. Those with no movement or part named are counted separately as complete performances (U2, 73,314). U2 is a proxy from the record: 73 pairs with a part number but an empty movement field count as complete, and 105 pairs mixing unmarked and excerpt entries count as excerpts. The population is the 15,027 programs with at least one credited work (the source has 15,074 program records).

The unit changes rankings. Wagner is 2nd by work performances (U1) but, with 86% excerpts, 27th by complete performances (U2). Shares and concentration therefore use U1, and the excerpt share is its own metric. The four 1.0 metrics are recomputed under the old definition in a '1.0 unit' column (identical to the published 1.0 values for every completed season).

The 'subscription only' series counts only concerts whose event type is Subscription Season, leaving out Stadium, parks, tour and young people's concerts.

Composer names

The archive already uses authority forms, so no composer is split by accents or capitalization. Instead, 91 non-person credits are classified and one pen name is merged (P.D.Q. Bach → Peter Schickele): traditional, anthem, unattributed, not a work (talks, demonstrations, improvisation), and joint or arrangement credits ('Vivaldi-Bach', 'Lennon-McCartney', slash-joined names, bands and ensembles). They stay in every denominator but are not counted as composers; joint credits are not assigned to the original composer, since doing so would move an arranger's share into the composer's. Table: aliases/nyphil_composers.csv.

Composer dates (Wikidata)

The 529 composers with 10+ performances were searched by name in Wikidata; only human items with a music occupation were kept and checked against the first NY Phil season (born at least five years earlier). 478 with a single candidate passing the check were accepted automatically; 40 with several same-name candidates or a failed check were resolved by the editor from the works performed and the dates (e.g. Humperdinck the composer, born 1854, not the singer born 1936); 10 remain unresolved and blank. 'P.D.Q. Bach' is Peter Schickele's pen name and is merged into Schickele in the composer tables. Where an item holds several dates the preferred-rank value is used, otherwise the earliest normal-rank year; one clear error (Guarnieri's death, 1933 → 1993) was corrected by hand. Years are taken as written, so a date recorded in the Julian calendar can be one year off. Only death years enter the repertoire metrics; a composer without a death year is treated as living. Table: aliases/composer_wikidata.csv.

Cross-check

The Bach chorales were measured from two independent encodings (DCML MuseScore and Sapp Humdrum). On the 235 chorales whose note counts agree within 2%, the nine metrics correlate at r ≥ 0.92.
MetricnDCMLHumdrumr|diff| median
chromatic_ratio2350.0680.0680.9830.0002
pitch_class_entropy2353.0083.0090.9670.0010
rhythm_entropy2351.5121.5040.9790.0040
offbeat_onset_ratio2350.2050.2080.9840.0004
mean_simultaneity2352.8212.8200.9760.0000
notes_per_quarter2354.3184.3270.9750.0048
top_leap_ratio2350.1430.1430.9570.0000
top_mean_interval_semitones2351.8571.8570.9670.0000
pitch_range_semitones23536.00036.0000.9230.0000

Comparison with the source paper

Martín-Castro & Ucar (2020) report, from a mixed-effects regression, that period-instrument (HIP), HIP-influenced and Romantic conductors fall below the marks by 6(2), 8(2) and 13(2) bpm. The plain medians here are −6, −8 and −12.7 bpm — the same picture by a simpler route.

AI disclosure

Metric design, code and draft text were produced with help from Claude (Anthropic) and verified by the editor against the source data. All numbers are reproducible from the published code.

Not yet here (long-term)

Changelog