gpt4 book ai didi

actionscript-3 - 如何计算midi文件的时间长度

转载 作者:行者123 更新时间:2023-12-01 13:01:02 27 4
gpt4 key购买 nike

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

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

midi 文件的持续时间是否写在数据中的某处,我可以直接提取和使用?

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

最佳答案

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

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

关于actionscript-3 - 如何计算midi文件的时间长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037534/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com