Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Dataset . 2026
License: CC BY NC SA
Data sources: ZENODO
ZENODO
Dataset . 2026
License: CC BY NC SA
Data sources: Datacite
ZENODO
Dataset . 2026
License: CC BY NC SA
Data sources: Datacite
versions View all 2 versions
addClaim

PianoCoRe: Combined and Refined Piano MIDI Dataset

Authors: Borovik, Ilya;

PianoCoRe: Combined and Refined Piano MIDI Dataset

Abstract

Dataset Tiers To support different research applications, the dataset is organized into tiered subsets: PianoCoRe-C (Combined): a complete mixed-source piano performance collection. PianoCoRe-B (Base): a deduplicated and quality-filtered subset. PianoCoRe-A (Aligned): a subset containing performances aligned to score. PianoCoRe-A*: a high quality subset of the best-quality performances and note-level alignments. The statistics of each subset are as follows: Dataset Composers Pieces Performances Hours Scores Alignments PianoCoRe-C 483 5,625 250,046 21,763 75.3% no PianoCoRe-B 478 5,591 214,092 18,757 75.0% no PianoCoRe-A 151 1,591 157,207 12,509 100% note PianoCoRe-A* 137 1,517 130,275 10,330 100% note Data Files The entry point for the dataset is the metadata.csv file, which contains paths, statistics, and metrics for all samples. The rows are organized using a natural sort based on the performance MIDI paths. A detailed description of the metadata fields is provided below. Additionally, composers.csv provides a reference list of the 483 composers included in the final dataset. This file includes birth and death years to complement the best-effort attempt to filter PianoCoRe according to European Union public-domain regulations (authors deceased for more than 70 years; i.e., 1955 or earlier as of 2026). The dataset is distributed in three distinct archives: PianoCoRe-1.0-raw-midi.zip: Contains musical score and performance files (MusicXML/MXL and MIDI) from the source datasets. Suitable for any MIDI-only applications. PianoCoRe-1.0-raw-alignments.zip: Raw score-performance alignments computed using parangonar and saved as compressed .npz files. Available for all performances matched with a score. Raw Alignment (.npz): contains indices, pitches, and onset times for matched, inserted, and deleted score and performance notes. Can be used to align performances with scores on time/beat level or develop custom refinement pipelines. PianoCoRe-1.0-refined.zip: Refined score and performance MIDI files and note-level alignments saved as .npz files. Available for all performances with alignment recall $R_{RAScoP} \ge 0.7$ (see paper for details). Refined Score MIDI: single-track, deduplicated scores matching the alignment indices. Might contain fewer notes than the original score. Refined Performance MIDI: cleaned original notes supplemented with interpolated notes to ensure a complete note-by-note alignment with the refined score. Refined Alignment (.npz): contains a mapping of performance note indices to sorted score notes and a boolean mask for interpolated notes. Ready-to-use for training generative score-to-performance rendering or performance-to-score transcription models that require parallel datasets. After downloading, the complete dataset can be constructed using the following commands: unzip PianoCoRe-1.0-raw-midi.zip unzip PianoCoRe-1.0-raw-alignments.zip unzip PianoCoRe-1.0-refined.zip mv metadata.csv PianoCoRe/ mv composers.csv PianoCoRe/ The complete dataset takes around 16.43 GB of disk space: 5.14 GB: score MusicXML/MIDI and performance MIDI files (PianoCoRe/raw/) 5.76 GB: raw alignment files (PianoCoRe/raw/) 5.53 GB: all refined score MIDI, performance MIDI and alignment files (PianoCoRe/refined/) Directory Structure The dataset has the following directory structure: PianoCoRe/ ├── raw/ │ ├── Bach,_Johann_Sebastian/ │ │ └── French_Suite_No.5_in_G_major,_BWV_816/ │ │ ├── 1._Allemande/ │ │ │ ├── score.mxl // score MusicXML/MXL │ │ │ ├── score_MS.mid // score MIDI │ │ │ ├── ATEPP_01881.mid // performance MIDI │ │ │ ├── ATEPP_01881_align.npz // raw alignment with the score MIDI │ │ │ ├── Aria_016026_0.mid │ │ │ ├── Aria_016026_0_align.npz │ │ │ └── ... │ │ └── ... │ ├── Beethoven,_Ludwig_van/ │ └── ... ├── refined/ │ ├── Bach,_Johann_Sebastian/ │ │ └── French_Suite_No.5_in_G_major,_BWV_816/ │ │ └── 1._Allemande/ │ │ ├── score_MS_refined.mid // refined (single-track) score MIDI │ │ ├── ATEPP_01881_refined.mid // refined (note-by-note aligned) performance MIDI │ │ ├── ATEPP_01881_refined_align.npz // refined alignment and interpolation mask │ │ ├── Aria_016026_0_refined.mid │ │ ├── Aria_016026_0_refined_align.npz │ │ └── ... │ ├── Beethoven,_Ludwig_van/ │ └── ... └── metadata.csv // complete metadata Metadata The PianoCoRe metadata defines the following fields for each entry: Core: id (string): unique sample ID (format: PianoCoRe_XXXXXX) composer (string): name of the composer (format: [last_name],_[first_name]) composition (string): title of the musical work/composition movement (string, optional): name of the specific movement/part of the composition performance_id (string): ID of the performance MIDI file, derived from the source dataset name and its internal ID Subsets: split (string): dataset split (train or test) tier_b (bool): whether the performance is in the PianoCoRe-B subset (deduplicated and quality-filtered) tier_a (bool):whether the performance is in the PianoCoRe-A subset (note-aligned to scores) tier_a_star (bool): whether the performance is in the PianoCoRe-A* subset (highest-confidence alignments) Score: score_dataset (string, optional): source dataset for the score MusicXML/MXL files (ASAP/ATEPP/PDMX/MuseScore) score_id (string, optional): ID of the score MIDI file, either as in the source dataset or built using the source dataset name and ID score_xml_path (string, optional): path to the score MusicXML/MXL file within the raw/ directory score_midi_path (string, optional): path to the score MIDI file within the raw/ directory score_note_count (integer, optional): number of notes in the score MIDI score_duration (float, optional): duration of the score MIDI in seconds Performance: performance_dataset (string): source dataset of the performance MIDI performance_midi_path (string): path to the performance MIDI file within the raw/ directory performance_note_count (integer): number of notes in the performance MIDI performance_duration (float): duration of the performance MIDI in seconds performer (string, optional) name of the pianist (if available) is_transcription (bool): whether the performance MIDI was transcribed from audio capture_model (string): hardware (e.g., Yamaha Disklavier) or ML model used to transcribe the MIDI Raw alignment: raw_alignment_path (string, optional): path to the raw _align.npz score-performance alignment file within the raw/ directory, contains indices, pitches and onset for score and performance notes raw_recall (float, optional): $R_a$, raw alignment recall raw_precision (float, optional): $P_a$, raw alignment precision raw_adjusted_alignment_ratio (float, optional): $R'_a$, raw alignment adjusted alignment ratio, defined as $R'_a = \max(P_a, R_a)$ Deduplication (PianoCoRe-B): is_duplicate (bool): whether the performance is a near-duplicate of the other performance (lead_performance) lead_performance (string, optional): path to the main (higher priority) version for the duplicate performance MIDI Quality labels (PianoCoRe-B): quality_label (string): MIDI quality label predicted by the classifier ('score', 'high quality', 'low quality' or 'corrupted') prob_score (float): classifier confidence for Score (S) MIDI quality class prob_high_quality (float): classifier confidence for High Quality (HQ) MIDI quality class prob_low_quality (float): classifier confidence for Low Quality (LQ) MIDI quality class prob_corrupted (float): classifier confidence for Corrupted (C) MIDI quality class Refined score, performance and alignment (PianoCoRe-A/A*): is_refined (bool): whether the performance MIDI was cleaned and refined refined_score_midi_path (string, optional): path to the refined (single-track) score MIDI file within the refined/ directory refined_score_note_count (integer, optional): number of notes in the refined score MIDI refined_score_duration (float, optional): duration of the refined score MIDI in seconds refined_performance_midi_path (string, optional): path to the refined (note-by-note aligned) performance MIDI file within the refined/ directory refined_performance_note_count (integer, optional): number of notes in the refined performance MIDI refined_performance_interpolated_note_count (integer, optional): number of synthetic notes added during the interpolation stage refined_performance_duration (float, optional): duration of the refined performance MIDI in seconds refined_alignment_path (string, optional): path to the _refined_align.npz score-performance alignment file within the refined/ directory, contains performance indices and boolean interpolation mask refined_recall (float, optional): $R_{RAScoP}$, refined alignment recall

Ethical Statement The curation of large-scale symbolic datasets presents challenges regarding copyright and intellectual property. A best-effort attempt was made to filter PianoCoRe according to European Union public-domain regulations (works whose authors have been deceased for more than 70 years). However, achieving 100% accuracy across thousands of files from diverse sources is inherently difficult. For transparency, the annotated composer metadata is released alongside the dataset. Licensing & Terms of Use The dataset, original and processed files, metadata, and alignment annotations are published under a CC BY-NC-SA 4.0 license. The license respects the licenses used for the source datasets. The underlying MIDI transcriptions are provided strictly for non-commercial research and educational purposes. No formal institutional ethics approval or human participant consent was required for this study, as it involved the processing of publicly available MIDI data and does not involve human subjects. Acknowledgments PianoCoRe is built upon the invaluable contributions of the open music information retrieval community and existing open-source datasets. Acknowledgements and credits are given to the creators of the following source corpora: Dataset Reference Links License MAESTRO Hawthorne et al. (2019) Paper / Dataset CC BY-NC-SA 4.0 ASAP Foscarin et al. (2020) Paper / Dataset CC BY-NC-SA 4.0 (n)ASAP Peter et al. (2023) Paper / Dataset CC BY-NC-SA 4.0 ATEPP Zhang et al. (2022) Paper / Dataset CC BY 4.0 GiantMIDI-Piano Kong et al. (2022) Paper / Dataset CC BY 4.0 Aria-MIDI Bradshaw and Colton (2025) Paper / Dataset CC BY-NC-SA 4.0 PERiScoPe Borovik et al. (2025) Paper / Dataset CC BY-NC-SA 4.0 PDMX Long et al. (2025) Paper / Dataset CC BY 4.0 Citation If you use this dataset in your research, please cite: Borovik, I. (2026). PianoCoRe: Combined and Refined Piano MIDI Dataset. Transactions of the International Society for Music Information Retrieval, 9(1), 144-163. DOI: 10.5334/tismir.333 @article{borovik2026pianocore, title = {{PianoCoRe: Combined and Refined Piano MIDI Dataset}}, author = {Borovik, Ilya}, year = {2026}, journal = {Transactions of the International Society for Music Information Retrieval}, volume = {9}, number = {1}, pages = {144--163}, doi = {10.5334/tismir.333}}

Symbolic music datasets with matched scores and performances are essential for many music information retrieval (MIR) tasks. Yet, existing resources often cover a narrow range of composers, lack performance variety, omit note-level alignments, or use inconsistent naming formats. This work presents PianoCoRe, a large-scale piano MIDI dataset that unifies and refines major open-source piano corpora. The dataset contains 250,046 performances of 5,625 pieces written by 483 composers, totaling 21,763 h of performed music. PianoCoRe is released in tiered subsets to support different applications: from large-scale analysis and pre-training (PianoCoRe-C and deduplicated PianoCoRe-B) to expressive performance modeling with note-level score alignment (PianoCoRe-A/A*). The note-aligned subset, PianoCoRe-A, provides the largest open-source collection of 157,207 performances aligned to 1,591 scores to date. In addition to the dataset, the contributions are: (1) a MIDI quality classifier for detecting corrupted and score-like transcriptions and (2) RAScoP, an alignment refinement pipeline that cleans temporal alignment errors and interpolates missing notes. The analysis shows that the refinement reduces temporal noise and eliminates tempo outliers. Moreover, an expressive performance rendering model trained on PianoCoRe demonstrates improved robustness to unseen pieces compared to models trained on raw or smaller datasets. PianoCoRe provides a ready-to-use foundation for the next generation of expressive piano performance research.

PianoCoRe is a large-scale piano MIDI dataset that unifies and refines major open-source piano corpora. It contains 250,046 performances of 5,625 pieces written by 483 composers totaling 21,763 hours of performed music. PianoCoRe provides the most diverse composer- and composition-annotated piano MIDI data. The metadata includes deduplication flags, MIDI quality labels and precise note-level score-performance alignments. The alignments are refined using a Refined Alignment for Scores and Performances (RAScoP) pipeline, which ensures perfect note-by-note synchronization for expressive performance modeling. Related Resources: Publication: https://doi.org/10.5334/tismir.333 Project repository: https://github.com/ilya16/PianoCoRe Hugging Face: https://huggingface.co/datasets/SyMuPe/PianoCoRe

Related Organizations
Keywords

expressive performance rendering, musical score, score-performance alignment, MIDI dataset, piano performance, symbolic music

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average