MIDI 事件音符打开、打开、关闭。如何解读?

MIDI Events Note ON, ON, OFF. How to interpret?

我找到了一个我不知道如何解释的 MIDI 文件,它的开头是这样的:

Tick: 384
NOTE ON
Channel: 1
Velocity: 127
Pitch: 53

Tick: 672
NOTE ON
Channel: 1
Velocity: 127
Pitch: 53

Tick: 768
NOTE OFF
Channel: 1
Velocity: 85
Pitch: 53

我注意到至少有 1 个 MIDI 播放器似乎将中间音打开并将其解释为音符关闭然后在同一节拍上音符打开,这是正确的行为吗?我怀疑是,但我想确定一下。

来自 MIDI 规范:

ASSIGNMENT OF NOTE ON/OFF COMMANDS

If an instrument receives two or more Note On messages with the same key number and MIDI channel, it must make a determination of how to handle the additional Note Ons. It is up to the receiver as to whether the same voice or another voice will be sounded, or if the messages will be ignored. The transmitter, however, must send a corresponding Note Off message for every Note On sent. If the transmitter were to send only one Note Off message, and if the receiver in fact assigned the two Note On messages to different voices, then one note would linger. Since there is no harm or negative side effect in sending redundant Note Off messages this is the recommended practice.

VOICE ASSIGNMENT IN POLY MODE

In Poly mode there are no particular rules which define how to assign voices when more than one Note On message is received and recognized. If more Note On messages are transmitted than the receiver is capable of playing, the receiver is free to use any method of dealing with this "overflow" situation (such as first vs. last note priority). The priority of voice assignments may follow the order in which Note On messages are received, the receiver's own keyboard control logic, or some other scheme. When a transmitter sends Note On and Off information to a receiving keyboard which is also being played, it is important for the receiver to distinguish the source of Note On/Off information. For example, a Note Off received from MIDI should not turn off a note that is being played on the receiver's own keyboard. Conversely, releasing a key on the receiver's own keyboard should not turn off a note being received from MIDI.

所以我想每种方法都是合适的。