Nice! This reminds me of my PhD research! I built some similar tools to go the other way (for comparing similarity with scores) but probably nowhere near as reliable as this. QQ How do you handle repeat segments? I remember having to extrapolate the x2's etc but in your you could detect patterns and do the reverse for compactness.

Thanks! TBH I hadn't thought about handling repeating segments yet - in either direction. Because the tab-to-midi direction is mostly a novelty I haven't done much of it except with tabs generated by gtrsnipe, and since it doesn't handle repeats specially, I haven't had to parse any "x2" type notation, but now that you mention it I should. Thanks again.