计时信息
MIDI 事件的计时信息存储在 MIDIEVENT 结构的 dwDeltaTime 成员中。 时间以刻度为单位,如 标准 MIDI 文件 1.0 规范中定义。 刻度线的长度由时间格式定义,可能由与流关联的节奏定义。 有关流的详细信息,请参阅 MIDI 流。
刻度表示为每季度注释的微秒,或 SMPTE (电影和电视工程师协会) 时间的滴答声。 单独发送 MIDI 消息或使用未处理的 MIDI 消息的应用程序使用季度注释时间和节奏信息来确定计时周期的持续时间。 预处理 MIDI 消息的应用程序可以将已用时间存储为正在使用的 SMPTE 单位的计数。
季度注释时间在时分词的高字位中为零 (位 15) 。 单词的其余部分包含每季度注释的刻度。 与 MIDI 数据流关联的节奏以每季度注释 (微秒为单位保留,) 符合 标准 MIDI 文件 1.0 规范。 例如,在 4/4 时间使用每季度音符 500,000 微秒的节奏的四分之一笔记以每分钟 120 节拍的速度播放。
SMPTE 时分格式完全指定计时周期的长度,而无需节奏信息。 在使用 SMPTE 时间格式时,MIDI 序列可以与其他 SMPTE 事件(如视频或条带音频)同步。 SMPTE 时间在时分词的高位 (位 15) 表示。 其余最有效字节指定用作负值的 SMPTE 格式。 支持的 SMPTE 格式及其相应值 (括号) 为 24 (-24) 、25 (-25) 、30 (-30) 和 30 个 (-29) 。 时分词的低字节指定每个 SMPTE 帧的时钟周期数。