Pianino β piano transcription model (notes only, ONNX)
ONNX conversion of the note transcription part of the high-resolution piano transcription model by Qiuqiang Kong et al. (ByteDance), used on-device by the Pianino app to turn a solo piano recording (MP3, M4A, WAVβ¦) into notes.
What it does
- Input
audio:float32[1, 160000]β 10 seconds of mono audio at 16 kHz. - Outputs, each
float32[1, 1001, 88]β 100 frames per second Γ the 88 piano keys (A0βC8):reg_onset_outputβ onset regressionreg_offset_outputβ offset regressionframe_outputβ key downvelocity_outputβ velocity
Longer recordings are cut into 10-second segments overlapping by half; only the middle of each segment is kept, as in the original inference code. Notes are then decoded from the four outputs with the original post-processing (onset/offset peak picking with sub-frame regression).
| File | Size | SHA-256 |
|---|---|---|
piano-notes-v1.onnx |
98,689,388 bytes | 9e33ffc0382fb023e0b1aac2abd0c3cb26a5d56fbcc246d7f2c0fc33c569f2ba |
Modifications from the original
- Only the note sub-model is kept; the sustain-pedal sub-model is removed.
- Converted from PyTorch to ONNX (opset 17) with a fixed 10-second input. Outputs match PyTorch within 1e-6.
- The weights themselves are unchanged.
Origin and licence
- Original model and weights: Qiuqiang Kong, Bochen Li, Xuchen Song, Yuan Wan, Yuxuan Wang, High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times, IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2021.
- Weights: zenodo.org/record/4034264, released under CC BY 4.0.
- Original code: github.com/bytedance/piano_transcription and piano_transcription_inference.
This converted model is shared under the same CC BY 4.0 licence. If you use it, credit the original authors above.
Limits
Trained on MAESTRO (solo classical piano on a Disklavier). Works best on clean solo piano recordings; voices, other instruments, heavy reverb or phone recordings reduce accuracy.
Citation
@article{kong2021high,
title = {High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times},
author = {Kong, Qiuqiang and Li, Bochen and Song, Xuchen and Wan, Yuan and Wang, Yuxuan},
journal = {IEEE/ACM Transactions on Audio, Speech, and Language Processing},
volume = {29},
pages = {3707--3717},
year = {2021}
}