可以将 MIDI 可变长度量强制为四个字节的长度吗?

Can MIDI variable-length quantities be forced to four bytes' length?

在这个 TB 时代,我发现可变长度的数量令人厌烦。而以我的新手能力,我正在努力编写一个C程序来编写MIDI。我不想使用现有的库,因为我不想相信任何人。

我想将输出文件中的所有 VLQ 强制为四个字节。我想如果我坚持最高有效位的规范,就不应该有任何东西使我的文件无效。

那么,对于 MIDI 可变长度数量规则,这些是写数字 1 的等价方式吗?

00000001

10000000 10000000 10000000 00000001

还是我遗漏了一些细微差别?

从技术上讲,这将是一个合法的 MIDI 文件。 我在 https://github.com/jazz-soft/test-midi-files/blob/main/midi/test-vlq-4-byte.mid 有一个例子 Microsoft Media Player 播放正确,但其他 MIDI 播放器可能有问题。