Seven million notes
MAESTRO is about 199 hours of competition piano, recorded on a Disklavier. The MIDI isn't someone's transcription of the score. It's a measurement of what the pianist's hands and feet actually did. So you can ask it questions.
| performances | 1,276 |
| composers | 60 |
| hours of playing | 198.7 |
| notes | 7,040,163 |
| sustain-pedal movements | 9,336,756 |
Nobody plays a chord all at once
Four notes stacked on one line of the score are meant to sound together. They never quite do. Grouping onsets that fall within 50 ms of each other and measuring how wide each group is gives this:
| notes | clusters | median spread | 90th pct | |
|---|---|---|---|---|
| 2 | 840,928 | 10.9 ms | 32.9 ms | |
| 3 | 403,725 | 20.7 ms | 51.2 ms | |
| 4 | 267,613 | 26.2 ms | 65.1 ms | |
| 5 | 124,377 | 32.1 ms | 79.4 ms | |
| 6 | 61,168 | 34.1 ms | 93.4 ms |
Worth knowing about the method. Because groups are built by chaining onsets within 50 ms of each other, a group of n notes can't be wider than (n−1) × 50 ms no matter how the piece was played. So the widest values are set by the threshold rather than by the pianist, and aren't shown. The medians sit well below that ceiling, which is why those are the numbers here.
The pedal is where the century shows
The sustain pedal isn't a switch. It moves continuously, and it moves a lot: nine million movements across the corpus. Take the share of playing time the pedal spends past halfway down, average it per composer, and an order falls out that nobody put there:
| composer | perfs | pedal down | |
|---|---|---|---|
| Alexander Scriabin | 35 | 85.2% | |
| Sergei Rachmaninoff | 59 | 81.1% | |
| Claude Debussy | 45 | 81.1% | |
| Frédéric Chopin | 201 | 77.7% | |
| Franz Liszt | 131 | 73.9% | |
| Robert Schumann | 49 | 72% | |
| Franz Schubert | 186 | 64.8% | |
| Ludwig van Beethoven | 146 | 49.3% | |
| Domenico Scarlatti | 31 | 33.4% | |
| Wolfgang Amadeus Mozart | 38 | 30.6% | |
| Joseph Haydn | 40 | 25% | |
| Johann Sebastian Bach | 138 | 21.7% |
That order is roughly chronological, which isn't a coincidence. Bach wrote for keyboards that had no sustain pedal on them at all, so pianists playing him today use it sparingly; the music doesn't expect it. By the time you get to Debussy and Scriabin the pedal is part of how the piece is written, and the sound they were after doesn't exist without it. Two centuries of instrument building, showing up in a GROUP BY.
How this was built
A short Python script turns the MIDI into three Parquet tables: performances, notes, and pedal. They stay separate because pedal is continuous and notes aren't, and squashing one into the other would mean deciding in advance what counts as “the pedal was down”. Spark writes them as Iceberg tables and Trino reads them through the same catalog, so there's one copy of the data and one definition of it. The code and the queries are in the repository.