c++ - If a midi tempo change occur, will it change all remaining tempo change's time?

问题描述:

I'm decoding midi files now, it is not simple, but anyway I want to do it for myself.

I know that tempo change affects all tracks, but I'm just think that it affects all upcoming tempo changes's time. I'm just want to sure before I accept that theory.

网友答案:

First, to correct the comment by @sehe, MIDI tempo changes do not use BPM for their units, though they are absolute. Tempo changes use microseconds per quarter note, not beats per minute.

That said, MIDI tempo changes are not relative to each other, so you don't need to worry about tempo changes effecting each other. Or to give an example, say you have three tempo changes in your sequence:

A=110 BPM ..... B=120 BPM ...... C=140 BPM

And you remove B from the sequence, the tempo will still be 140 BPM when you reach C. Hope that answers your question!