piano-hand-assignment

Weights for piano-hand-assignment: assign every note of a piano MIDI file to the right or the left hand.

Files

File Architecture Parameters
lstm.pt 2-layer bidirectional LSTM, d=192 1.58M
transformer.pt 4-layer Transformer encoder, d=192, 4 heads 1.75M

Both are PyTorch checkpoints saved as {"arch": ..., "state": state_dict, "args": ...}. Inference averages the two probability distributions.

Usage

from piano_hand_assignment import HandAssigner

assigner = HandAssigner()                 # downloads these files on first run
assigner.assign_file("input.mid", "output.mid")

Training data

30,382 two-hand piano scores from PDMX (MuseScore-derived MusicXML), 20.4M notes. Hand labels come from the staff number in the score.

Evaluation

Test set Accuracy Hand-switch F1
Held-out PDMX split (2.0M notes) 94.30 0.918
Yamaha Disklavier pieces (unseen domain) 95.91 0.927
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support