Re: [問題] 有關MIDI格式的問題
※ 引述《Breedlove (呵...)》之銘言:
: 各位版友好,有一個MIDI格式的問題想請教
: 在MIDI的格式中 90 3C 50 81 40 (16進位)
: 90表示Note ON在Channel 0,3C代表彈奏中央C (Do),50代表力道,81 40則代表
: Delta time,以81 40(16進位)來講的話是193(10進位)個tick。
: 小弟自已打了一小段MIDI,在第一小節為一個全音符,第二小節有一個二分音符,二
: 個四分音符。
: 可是我用C去讀的時候發現全音符後接的Delta time為88 0,二分音符後接的Delta time
: 為84 0,四分音符後接的Delta time為82 0,照理說全音符的Delta time應該為二分音符
: 的二倍,二分音符的Delta time應該為四分音符的二倍,請問是哪邊出問題了?
: 先謝謝回應的版友了。
MIDI格式的delta time是像下面這樣轉換的↓
88 00 (hex) = 10001000 00000000 (bin) = 1000 0000000 (bin) = 1024 (dec)
每個byte最前面的1 bit只是代表
「這是不是最後一個byte」
如果是1就代表「接下來的byte也是delta time」
如果是0就是「這個byte就是delta time的結尾了」
在計算中要把它去掉
只用剩下的7bits串起來以得知實際的delta time
以你的例子來說 全音符是1024 tick 二分是512 tick 四分是 256tick
詳細的說明看這裡
http://253.ccarh.org/handout/vlv/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.13.219
※ 編輯: holymars 來自: 114.32.13.219 (09/09 22:53)
※ 編輯: holymars 來自: 114.32.13.219 (09/09 23:25)
推
09/09 23:51, , 1F
09/09 23:51, 1F
→
09/10 00:08, , 2F
09/10 00:08, 2F
→
09/10 00:08, , 3F
09/10 00:08, 3F
推
09/10 13:22, , 4F
09/10 13:22, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章