【问题标题】:How to calculate the time-length of a midi-file如何计算midi文件的时间长度
【发布时间】:2011-05-17 21:46:19
【问题描述】:

在名为 midas 的有用库的帮助下,我正在阅读 as3 (flash cs5) 中的 midi 文件 (http://code.google.com/p/midas3/) - midi-as3 库。

我试图找出一种简单的方法来计算 midi 文件的整个持续时间(例如 - 4 分钟或 6 分钟的总时间......)。我假设我可以计算出每首曲目的最后一个音符 + 检查速度并弄清楚,但我想知道:

midi 文件的持续时间是否写在我可以提取和使用的数据中的某个位置?

有没有一种简单的方法来计算它而无需遍历整个文件并比较最后的音符/节奏。

【问题讨论】:

    标签: actionscript-3 midi midas-server


    【解决方案1】:

    不,您需要阅读整个文件并确定阅读最后一个注释的时间。 MIDI 文件本质上是流数据,因此文件头中没有“长度”字段。

    编辑:经过进一步思考,“流”并不是描述 MIDI 文件的好方法。 MIDI 文件确实具有以字节为单位的固定长度,它存储在 IFF 块头中。但是,文件的长度没有以秒为单位的属性,但是假设您可以将所有字节读入一个序列(并且不要忘记考虑速度变化!),这应该不会太难以秒为单位确定文件的长度。

    【讨论】:

    • 最后一个音符后有延迟怎么办?
    猜你喜欢
    • 2023-02-21
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    相关资源
    最近更新 更多