I want to know how to convert MIDI ticks to actual playback seconds.
For example, if the MIDI PPQ (Pulses per quarter note) is 1120, how would I convert it into real world playback seconds?
Aar*_*ght 19
公式是60000 / (BPM * PPQ)(毫秒).
BPM是赛道的节奏(每分钟节拍).
(即,120 BPM音轨的MIDI时间为2 (60000 / (120 * 192))或2.604 ms,1 个音符.
如果您不了解BPM,那么您必须首先确定.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
Run Code Online (Sandbox Code Playgroud)
请注意,在上面链接的文档中,PPQ也称为“除法”或“每四分之一音符” 。
请注意,速度通常以BPM(频率)表示,而原始MIDI以每四分之一微秒(周期)的形式表示。