我已经研究了这个主题一段时间,但仍然没有弄明白。 我使用midas3库(Midi-actionscript3)将MIDI导入闪存。我在时间线上获得每个笔记项目。我得到的分区值(192)和所有的“GET-TEMPO”元素等于81.如何将midi时间线转换为应播放的实际时间线
我试了很多组合来获得midi的实际时间,但仍然不好(时间轴* 192/60例如)。
我知道它没有与实际时间同步的原因是,当我在flash中将音符可视化为简单的矩形时 - 我检查它们是否完全显示mp3文件播放的内容(我已将该midi文件转换为此MP3使用简单的转换程序)
我已经读了很多关于如何计算所有,但仍然没有弄清楚我需要使用的数字是正确的(时间轴* MysteriusConstant = ReaTIME,MysteriusConstant的值是什么?它真的是恒定的吗?如果不是,我该如何计算它是如何改变的?)
谢谢 Alon
另外请记住,虽然分区是不变的,但速度可能会因MIDI元事件而改变。即使您自己生成了MIDI文件,但这可能不是问题。但是,您应该考虑到这一点,并避免缓存'tempo * division',以防您的软件在未来需要支持它。 – 2011-03-14 10:48:34