...
minimise noise in midi part, that could be externalised as a library
try with value classes for Pitch and Interval (todo: Interval string representation)