关于没有关闭事件的事件的MIDI注释

时间:2018-02-08 14:23:51

标签: midi

我制作了一个系统,它接收MIDI文件并创建音乐的图形表示。 每个NoteOnEvent都是单个音符开始的时间,而每个NoteOffEvent具有相同的音符代码的时间就是它。

这适用于大多数MIDI文件。

但是,我现在遇到的文件根本没有NoteOffEvent个事件,所以我一直在播放它们。

例如,看到正确的行为是什么:

midi.NoteOnEvent(tick=0, channel=0, data=[65, 127])
midi.NoteOnEvent(tick=240, channel=0, data=[65, 0])

我认为如果一个音符“on”事件发生在同一个音符上它应该像一个切换事件,但我不确定它是否合理,或者这是否发生在每个midi文件或只是一个子集这样做?

修改 我认为这不重要,但我使用python-midi从midi文件中提取曲目

1 个答案:

答案 0 :(得分:2)

通常将带有0速度的音符解释为音符关闭。我不确定它是否属于标准的一部分。