Resolves a parsed file's tick-based events into real-time seconds, honouring tempo
changes and pairing each note-on with its matching note-off to find a duration. A
note-on with no matching note-off (a malformed or truncated file) still sounds, for a
short default duration, rather than being dropped silently.
Resolves a parsed file's tick-based events into real-time seconds, honouring tempo changes and pairing each note-on with its matching note-off to find a duration. A note-on with no matching note-off (a malformed or truncated file) still sounds, for a short default duration, rather than being dropped silently.