SyMuPe (ACM MM'25)
Collection
The models and dataset accompanying the paper "SyMuPe: Affective and Controllable Symbolic Music Performance" (ACM MM '25) • 5 items • Updated
MLM-base is a Transformer-based masked language modeling baseline for expressive piano performance rendering.
Introduced in the paper: SyMuPe: Affective and Controllable Symbolic Music Performance.
Pitch, Position, PositionShift, DurationVelocity, TimeShift, TimeDuration, TimeDurationSustainVelocity and Tempo score tokens for tempo and dynamics.Before using this model, ensure you have the symupe library installed:
pip install -U symupe
Use the following code to render performances:
import torch
from symupe import AutoGenerator
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Build Generator by loading the model and tokenizer directly from the Hub
generator = AutoGenerator.from_pretrained("SyMuPe/MLM-base", device=device)
# model, tokenizer = generator.model, generator.tokenizer
# Perform score MIDI (tokenization is handled inside)
gen_results = generator.perform_score(
"score.mid",
use_score_context=True,
num_samples=8,
seed=23,
)
# gen_results[i] is PerformanceRenderingResult(...) containing:
# - score_midi, score_seq, gen_seq, perf_seq, perf_midi, perf_midi_sus
# Save performed MIDI files
generator.save_performances(gen_results, out_dir="samples/mlm")
The model weights are distributed under the CC-BY-NC-SA 4.0 license.
If you use the dataset, please cite the paper:
@inproceedings{borovik2025symupe,
title = {{SyMuPe: Affective and Controllable Symbolic Music Performance}},
author = {Borovik, Ilya and Gavrilev, Dmitrii and Viro, Vladimir},
year = {2025},
booktitle = {Proceedings of the 33rd ACM International Conference on Multimedia},
pages = {10699--10708},
doi = {10.1145/3746027.3755871}
}