NOW LOADING

MidiSequenceTempoChange


One tempo change in a sequence, in both the file's terms and in beats per minute
Namespace Windows.Devices.Midi2.Utilities.Sequencing
Type Name MidiSequenceTempoChange
Type WinRT Struct
IDL MidiSequenceTempoChange.idl

MidiSequenceTempoChange is one entry in the tempo map of a MidiSequence. Get them from the sequence’s TempoMap collection, which is small enough to hand over whole.

Struct Fields

Field Description
Tick Where the change takes effect
MicrosecondsPerQuarterNote The tempo the way the file stores it
BeatsPerMinute The same tempo, worked out as quarter notes per minute
MicrosecondsAtTick Where this tick falls in time, so looking up a position doesn’t have to go through the whole map

Remarks

A file stores tempo as microseconds per quarter note, never as beats per minute, so BeatsPerMinute here is worked out from it.

It’s also always quarter notes per minute, whatever the time signature. That’s what the file format defines, and what a sequencer’s transport shows. In a time signature like 6/8, the beat you’d count or conduct is a dotted quarter note, so this number is correct but isn’t the tempo you feel. If your app shows a conductor’s tempo instead of a transport tempo, convert it yourself, using the MidiSequenceTimeSignature in effect.

Didn't find what you were looking for?

Windows MIDI Services is an open source project with all source available on GitHub. We have a great community on Discord as well. Between GitHub and Discord, you should find the information you are looking for.