【问题标题】:Sequence number in a midi file. How does it work?MIDI 文件中的序列号。它是如何工作的?
【发布时间】:2012-10-25 09:08:50
【问题描述】:

我已经在谷歌上搜索了一段时间,但我发现的所有信息都有点模棱两可。我不是midi专家,我只对midi文件感兴趣。我需要知道这个元事件的用途,以及它如何影响多轨 MIDI 文件(格式 1)的播放。

【问题讨论】:

    标签: midi


    【解决方案1】:

    对于类型 1 和类型 2 MIDI 文件,序列号表示给定轨道的事件将跟随此事件。如果您只对解析类型 1 文件感兴趣,这基本上表明实际 MIDI 事件的开始。但是,类型 2 文件可能有多个轨道,每个轨道都以序列元事件开头。

    欲了解更多信息,请参阅:http://home.roadrunner.com/~jgglatt/tech/midifile/seq.htm

    【讨论】:

    • -1:序列号表示“实际 MIDI 事件的开始”,它只是适用于整首歌曲的可选 ID 号(又名“序列” )。注意:MIDI 事件是所有非元事件。 (MIDI 事件通过 MIDI 电缆发送。元事件是 MIDI 文件中的附加信息,不能通过 MIDI 电缆发送。)想象一下,如果 MIDI 文件程序在遇到 MIDI 时停止扫描轨道名称轨道中的事件。由于这种可能性,您应该将适用于整个音轨的元事件放在零时间和 MIDI 事件之前。
    【解决方案2】:

    我的理解是序列号只是可用于识别歌曲的附加信息。我认为它是序列名称的数字替代或补充。

    想象一个鼓盒,它可以将其鼓模式保存或加载到单独的 MIDI 文件中(或者可能保存到单个 Format 2 MIDI 文件中的单独轨道中)。或者想象一个可以将其伴奏模式保存或加载到单独的 MIDI 文件中的电子键盘。在这样的场景中,我想序列号可以用来指示 MIDI 文件(或格式 2 轨道)对应的模式号或伴奏号。

    【讨论】:

      【解决方案3】:

      “序列号”是 MIDI 文件中的一个错误概念,从未明确实现过。对于类型 0 或类型 1 的单个文件,它没有任何意义。这是一个无操作。

      对于类型 2 的文件,或者类型 0 或类型 1 文件的集合,它旨在按顺序识别单独的序列,就像某种播放列表一样。然后玩家可以按数字选择一个序列。

      如果未指定序列号,则按顺序分配,但同样,对于单个文件,这几乎只对类型 2 重要。

      实际上,据我所知,序列号从未真正被大量使用过。也许在游戏等嵌入式应用程序中......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-24
        • 2011-10-19
        • 2010-09-12
        • 2010-11-08
        • 2010-11-03
        • 1970-01-01
        相关资源
        最近更新 更多