BowenC/Orchestra_Layout_Dataset
收藏Hugging Face2026-05-29 更新2026-05-31 收录
下载链接:
https://hf-mirror.com/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_6
```
| Piece | Pages |
|-------|-------|
| Tchaikovsky Symphony No. 4 | 129 |
| Tchaikovsky Symphony No. 6 | 219 |
## File 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, tone3
```
### Row structure
Each row describes one **staff line** on a page. A page typically contains multiple staves across one or more systems.
- The `page` field 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 `page` field is filled only in the first data row; the header is always present.
### Column descriptions
| Column | Type | Description |
|--------|------|-------------|
| `page` | string | 3-digit zero-padded page number (e.g. `001`). Present only in the first staff row of each page. |
| `staff` | integer | Sequential staff index on the page, starting at 1. |
| `system` | integer | System (grand staff group) index on the page, starting at 1. Pages with only one system always have `1` here. |
| `staffgroup` | integer | Orchestral section the staff belongs to (see table below). |
| `num_ins` | integer | Number of instruments sharing this staff line (`1` or `2`). Empty cells should be treated as `1`. |
| `ens` | string | Ensemble qualifier for the staff: `divisi` (part splits into two), `unis` (unison), or empty. |
| `ins1` | string | Name of the primary (or only) instrument on this staff. |
| `part1` | string/int | Part number of `ins1` when the section has multiple players (e.g. `1`, `2`). Empty if not applicable. |
| `tone1` | string | Transposition key of `ins1` (e.g. `B`, `F`, `A`). Empty for non-transposing instruments. |
| `ins2` | string | Name of the second instrument when `num_ins` = 2 (e.g. a piccolo sharing a flute staff). |
| `part2` | string/int | Part number of `ins2`. |
| `tone2` | string | Transposition key of `ins2`. |
| `ins3` | string | Name of a third instrument (reserved; not used in current annotations). |
| `part3` | string/int | Part number of `ins3`. |
| `tone3` | string | Transposition key of `ins3`. |
### 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)
```csv
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)
```csv
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).
提供机构:
BowenC



