【发布时间】:2020-06-07 21:57:52
【问题描述】:
我想以字节(和位级别)读取和编码 MIDI .mid 文件。读取 .mid 文件时,如何识别特定字节是增量时间值的第一个字节?
例如,下面是 Mandal 的 多媒体信号和系统中的图 2.12 .mid 文件的轨道块图:
我怎么知道01、01、78、00、00 和 00 是增量时间字节,因为它们附加到的事件是不同的字节长度? (例如,乐器变化似乎比增量时间字节多两个字节,而第一个 Note On 事件似乎包含比增量时间字节多 3 个字节)。它是基于解释增量时间字节之后的内容吗?如果是这样,第二个 Note On 事件让我感到震惊:为什么它看起来只有两个字节跟随 delta 时间字节?
它没有出现在 Mandel 的示例中,但我希望有一个答案也能澄清多字节增量时间。
当然,我很感谢您就如何改进我的问题提出意见。
最后,我不是要求可以自动读取 .mid 文件的库。这些很好(耶!)但我想了解如何将文件格式读取到字节级别。
【问题讨论】:
标签: midi