240 发简信
IP属地:香港
  • 下面是根据笔者的理解对笔者给出的样例主音轨的划分,欢迎交流指点
    4D 54 72 6B 00 00 00 67 //标识符+长度
    00 FF 03 13 5B 47 4D 20 30 35 34 5D 20 56 6F 69 63 65 20 4F 6F 68 73 //音轨名称事件
    8F 00 90 3C 64 //按下操作:长度8/f00 ,操作码90(按下),操作数3C(音符)、64(力度)
    8C 18 80 3C 40 //松开操作:长度8/c18,操作码80(松开),操作数3C(音符,对应按下的3C)、40(力度)
    82 68 90 3E 64
    8C 18 80 3E 40
    82 68 90 40 64
    86 48 80 40 40
    78 90 41 64
    86 48 80 41 40
    78 90 43 64
    86 48 80 43 40
    78 90 45 64
    86 48 80 45 40
    78 90 47 64
    87 40 80 47 40
    87 40 90 48 64
    8F 00 80 48 40
    00 FF 2F 00

    如何看懂一份MIDI文件

    前言 MIDI 文件是在做音乐应用时,很可能会遇到的一种文件格式。Github上面有相关的类库,可以用来解析MIDI,因为不想满足于仅仅能够拿来能用就好,还是希望能够了解MI...

  • 在主音轨的第二个事件(也就是按下音符的事件)中,根据第一个音轨名称事件的长度'13'可知,该事件应该是8F 00 90 3C 64,而不是00 90 3c 64?作者是不是在音轨名称事件上少数了一个字节?这样,该midi消息的时值就应该是8f 00->f 00->3840ticks而不是00->0ticks。
    不知这样理解是否正确。
    作者撰文思路清晰,语言逻辑流畅,怒赞!

    如何看懂一份MIDI文件

    前言 MIDI 文件是在做音乐应用时,很可能会遇到的一种文件格式。Github上面有相关的类库,可以用来解析MIDI,因为不想满足于仅仅能够拿来能用就好,还是希望能够了解MI...

  • plus, 3840ticks / 480ticks per b = 8b,正好是8拍,佐证了3840是一个有意义的时值长度

    如何看懂一份MIDI文件

    前言 MIDI 文件是在做音乐应用时,很可能会遇到的一种文件格式。Github上面有相关的类库,可以用来解析MIDI,因为不想满足于仅仅能够拿来能用就好,还是希望能够了解MI...