您如何确定 NAudio 1.7 中的 MIDI 文件持续时间(以小节为单位)?

How do you determine midi file duration (in bars) in NAudio 1.7?

我正在尝试使用 NAudio 1.7 计算出 *.MID 文件中一系列 MIDI 音符的持续时间。我正在使用的 MIDI 文件报告 "EndTrack" 在 1507,这是最后一个 NoteOff 的时间。我本以为该值为 1536,这是一个 4 小节短语的持续时间。

此信息还会在哪里表示或我如何计算它?

EndTrack 事件是一个单独的事件,可以有自己的时间。

如果 MIDI 文件不费心将结尾与小节对齐,那就是你得到的。

如果您想计算文件中的小节数(这可能对所有文件都没有意义),您必须自己对最后一个刻度值进行取整。