Вам нужно две части информации:
- PPQ (количество импульсов на четвертную ноту), который определяется в заголовке файла midi, один раз.
- Темп (в микросекундах на четвертную ноту), который определяется мета-событиями «Установить темп» и может изменяться во время музыкального произведения.
Тики могут быть преобразованы в секунды воспроизведения следующим образом:
ticks_per_quarter = <PPQ from the header>
µs_per_quarter = <Tempo in latest Set Tempo event>
µs_per_tick = µs_per_quarter / ticks_per_quarter
seconds_per_tick = µs_per_tick / 1.000.000
seconds = ticks * seconds_per_tick
Обратите внимание, что в документе , указанном выше, PPQ также называется "делением" или "тиками на квартальную ноту".
Обратите внимание, что темп обычно представлен в BPM (частота), но необработанный MIDI представляет его в мкс на квартал (период).