Data extraction from piano-roll scans
Craig Stuart Sapp
craig@ccrma.stanford.edu
IAML 2018
Leipzig, Deutschland
24 Juli 2018
http://bit.ly/iaml2018-pianoroll
Data processing overview
Scan
Raw MIDI file
without
expression
Performance MIDI file
with
expression
Stanford Libraries
Digital Production
Group (DPG)
Me
Zhengshan “Kitty” Shi
Online test scans
http://pianoroll.sapp.org/full-rolls-set3b
Image analysis markup
Graphical hole markup syntax
(or expression hole starts)
Tracker bar hole positions
Bass
expression
Treble
expression
Treble notes
Bass notes
1
2
3
4
5
6
7
8
9
10
1 Mezzo-forte off
2 Mezzo-forte on
3 Crescendo off
4 Crescendo on
5 Forzando off
6 Forzando on
7 Sustain off
8 Sustain on
9 Electric cutoff
11
Left-right drift of roll while scanning
~35 pixel spacing between hole rows
Scanning operator manually adjusted
Left/right position of roll while scanning
Operator shift marked in scan
Dynamic tracking for drift/shift
Automatic tear analysis
https://ccrma.stanford.edu/~craig/piano-roll-project/acceptance_test-20171219/redwelte-0245-waltz-op42-chopin-scharwenka/druid-mj502fy3866-analysis/index.html#trebletear004
Automatic identification of bad holes
Bad holes (2)
Analysis summary
https://docs.google.com/spreadsheets/d/16s-SUqWki41trQW_0UvyRTyfPO3Yz5dyzRabzM-CsG0/edit?usp=sharing
Github
https://github.com/pianoroll
Software and extracted MIDI data for Stanford Piano rolls
https://github.com/pianoroll/midiroll/tree/master/data/stanford/scandata
Example “raw” MIDI Files:
Resources for each roll scan
Expressionless rendering
(audio file)
Starting image
Detailed analysis page
Click roll icon to
view information
http://pianoroll.sapp.org/full-rolls-set3b/#jg699wz4435
Automatic analysis pages
https://ccrma.stanford.edu/~craig/piano-roll-project/redwelte-20180301/jg699wz4435/jg699wz4435-analysis
Automatically extracted roll properties
https://ccrma.stanford.edu/~craig/piano-roll-project/redwelte-20180301/jg699wz4435/jg699wz4435-analysis