Pereval: Piano Performance Evaluation toolkit
Integrating Contextual Embeddings into Evaluation of Expressive MIDI Piano Performances
Dmitrii Gavrilev, Ilya Borovik, and Vladimir Viro
This is an official repository for the paper "Integrating Contextual Embeddings into Evaluation of Expressive MIDI Piano Performances" (Accepted at ISMIR 2026).
Overview
In this paper, we tackle the problem of evaluating and comparing sets of piano MIDI performances.
Traditional metrics (which we coin attribute-scoped), such as Pearson correlation and reconstruction error, that are most commonly used in Expressive Performance Rendeering (EPR) have several drawbacks. Namely, they are limited by a single expressive attribute, such as tempo, articulation, and dynamics of a performance, disregarding other musical aspects and context. Second, they often require a note-level alignment between a score and a performance, hindering the scalability of evaluation.
We adapt recently proposed kernel-based methods from image and audio generation domains for EPR. Deep feature metrics, Kernel Music Distance (KMD) and Kernel Performance Distance (KPD), leverage rich contextual features from Aria and CLaMP3 symbolic music understanding models. The adapted metrics are scalable (do not require alignments) and contextual.
In short, this project aims to go beyond the traditional metrics for expressive MIDI piano performances and unify them under one toolkit to simplify evaluation routines for MIR practitioners.
Installation
- Prerequisites:
- Install pereval:
pip install -U pereval
Repository structure:
/pereval/contains the main utilities (such as alignment, feature extraction, calculation of attribute-scoped and deep feature metrics) used in our research paper/examples/contains the notebooks for data analysis and examples of usage
Command-line interface:
pereval-save-alignment- calculates the note alignment using Parangonarpereval-correlation- calculates attribute-scoped correlations between sets of performancespereval-kde- calculates Kernel Density Estimators for attribute-scoped KL-divergencepereval-embed-aria- extracts Aria embeddingspereval-shift-notes- shifts (truncates the first few) notes in performancespereval-permute-velocity- transfers the velocities of the notes between performances
Notebooks:
mahalanobis_pseudo_ratings.ipynb- comparing Mahalanobis-based Aria pseudo-ratings with human MOS from the listening test
Acknowledgements
We would like to thank the authors of FADtk, KADtk, Aria, CLaMP3, Parangonar, and symusic for their open source contributions in music and audio research.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pereval-0.1.1.tar.gz.
File metadata
- Download URL: pereval-0.1.1.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.4.1 CPython/3.13.14 Linux/5.4.0-172-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78d19be3164c8fc536a8bfd36dcfba604e3fbecd0c8aa0e7f74dd3c6a203cb47
|
|
| MD5 |
e868895bc9b63ad1705cc09d766960b3
|
|
| BLAKE2b-256 |
1b9ed5a0bc4d533b5c196a5c9e071618f7cc88e82a3d486ae6a1b71dce9453cc
|
File details
Details for the file pereval-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pereval-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.4.1 CPython/3.13.14 Linux/5.4.0-172-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
522fc582656cd1ba78a22c86e113457ed1ee95be836c1bb35d53dbc84ab38e12
|
|
| MD5 |
e61d2b4bce490c297e1f33947776069c
|
|
| BLAKE2b-256 |
b08696a33fddcfc9bd359e3ace8c771f3ca1da2e161176f6630c00cef6137e86
|