Hi Craig et al,
I've noticed that using hum2mid with the --fill-pickup flag seems to have unexpected behavior when the first measure begins with a rest (as sometimes occurs, e.g., Haydn op. 20 no. 6, iv).
For example given these two test files:
pickup.krn
**kern
*M4/4
==
2a
=1
4a
==
*-
rest.krn
**kern
*M4/4
=1
2r
2a
=2
4a
==
*-
I get the following results. Note in particular that when hum2mid processes rest.krn with the --fill-pickup flag, the time shift before the first note is missing.
malcolm tmp$ hum2mid rest.krn --fill-pickup | grep 'note-o' | head -n 3
v0 90 '69 '64 ; note-on A4
v240 80 '69 '64 ; note-off A4
v0 90 '69 '64 ; note-on A4
malcolm tmp$ hum2mid rest.krn | grep 'note-o' | head -n 3
v240 90 '69 '64 ; note-on A4
v240 80 '69 '64 ; note-off A4
v0 90 '69 '64 ; note-on A4
malcolm tmp$ hum2mid pickup.krn | grep 'note-o' | head -n 3
v0 90 '69 '64 ; note-on A4
v240 80 '69 '64 ; note-off A4
v0 90 '69 '64 ; note-on A4
malcolm tmp$ hum2mid pickup.krn --fill-pickup | grep 'note-o' | head -n 3
v240 90 '69 '64 ; note-on A4
v240 80 '69 '64 ; note-off A4
v0 90 '69 '64 ; note-on A4
Is this expected behavior? (I hope not.) If so, is there a way that I can I always have a time-shift at the beginning of each midi file?
M