BowenC/Orchestra_Layout_Dataset
Orchestral Score Layout Dataset Ground-truth annotations for staff layout detection in orchestral music scores, covering two Tchaikovsky symphonies. Contents dataset_layout/ ├── Tchai_4.pdf # Source PDF — Tchaikovsky Symphony No. 4 ├── Tchai_4/ # Page images (PNG, one per page) ├── Tchai_4_csv_gt/ # Per-page CSV ground truth for Tchai_4 │ ├── Tchai_6.pdf # Source PDF — Tchaikovsky Symphony No. 6 ├── Tchai_6/… See the full description on the dataset page: https://huggingface.co/datasets/BowenC/Orchestra_Layout_Dataset.
Orchestral Score Layout Dataset
Ground-truth annotations for staff layout detection in orchestral music scores, covering two Tchaikovsky symphonies.
Contents
dataset_layout/
├── Tchai_4.pdf # Source PDF — Tchaikovsky Symphony No. 4
├── Tchai_4/ # Page images (PNG, one per page)
├── Tchai_4_csv_gt/ # Per-page CSV ground truth for Tchai_4
│
├── Tchai_6.pdf # Source PDF — Tchaikovsky Symphony No. 6
├── Tchai_6/ # Page images (PNG, one per page)
└── Tchai_6_csv_gt/ # Per-page CSV ground truth for Tchai_6File Naming
Page images: Tchai_4/Tchai_4_001.png, Tchai_4/Tchai_4_002.png, … Per-page CSVs: Tchai_4_csv_gt/Tchai_4_001.csv, Tchai_4_csv_gt/Tchai_4_002.csv, …
The three-digit zero-padded number in the filename corresponds to the page number within the score (matching the page field in the CSV).
CSV Format
Each per-page CSV in *_csv_gt/ uses the following 15-column schema:
page, staff, system, staffgroup, num_ins, ens,
ins1, part1, tone1,
ins2, part2, tone2,
ins3, part3, tone3Row structure
Each row describes one staff line on a page. A page typically contains multiple staves across one or more systems.
- The
pagefield is filled only in the first row of each page. Subsequent rows on the same page leave it blank. - In the per-page CSVs the
pagefield is filled only in the first data row; the header is always present.
Column descriptions
Staffgroup
staffgroup is a sequential integer that groups adjacent staves belonging to the same orchestral section (e.g. all woodwind staves share one value, all brass staves share the next, and so on). The numbering restarts from 1 on each page and within each system, so the values themselves carry no fixed meaning — only equality matters: staves with the same staffgroup value belong to the same section. In a typical orchestral score the groups follow the conventional order: Woodwinds → Brass → Percussion → Strings.
Example — single-system page (Tchai_4 page 001)
page,staff,system,staffgroup,num_ins,ens,ins1,part1,tone1,ins2,part2,tone2,ins3,part3,tone3
001,1,1,1,,,flute,,,,,,,,
,2,1,1,,,oboe,,,,,,,,
,3,1,1,,,clarinet,,B,,,,,,
,4,1,1,,,bassoon,,,,,,,,
,5,1,2,2,,horn,1,F,horn,2,F,,,
,6,1,2,2,,horn,3,F,horn,4,F,,,
,7,1,2,,,trumpet,,F,,,,,,
,8,1,2,2,,trombone,1,,trombone,2,,,,
,9,1,2,2,,trombone,3,,tuba,,,,,
,10,1,3,,,timpani,,,,,,,,
,11,1,4,,,violin,1,,,,,,,
,12,1,4,,,violin,2,,,,,,,
,13,1,4,,,viola,,,,,,,,
,14,1,4,,,cello,,,,,,,,
,15,1,4,,,bass,,,,,,,,Staff 5 has num_ins=2 and carries Horn 1 and Horn 2 on the same line; their shared transposition key is F.
Example — multi-system page (Tchai_4 page 004)
page,staff,system,staffgroup,num_ins,ens,ins1,part1,tone1,ins2,part2,tone2,ins3,part3,tone3
004,1,1,1,,,clarinet,,B,,,,,,
...
,9,1,3,,,bass,,,,,,,,
,10,2,1,,,horn,,F,,,,,, ← system 2 begins
,11,2,2,,,violin,1,,,,,,,
...When a page contains multiple systems, the system counter increments and staves are renumbered from 1 for each system within the staff column (sequential across the whole page).
