****************************************** * * * SMAF解析書 * * * * 〜エクスクルーシブの解析〜 * * * ****************************************** Mtsuで音色定義が以下の通りだとする。 ヘッダ サイズ 音色番号 音色定義部分 フッタ ------------------------------------------------------------------------- FF F0 12 43 03 [00] 00 00 60 01 14 52 F4 3A A0 14 62 F7 00 A0 F7 FF F0 12 43 03 [01] 00 02 60 01 15 51 F5 19 A0 14 62 F7 00 A0 F7 FF F0 12 43 03 [02] 00 08 40 01 C0 46 F5 71 A0 10 53 FB 00 A8 F7 FF F0 12 43 03 [03] 00 0F 50 01 30 54 75 15 A1 10 53 F0 02 A8 F7 FF F0 12 43 03 [04] 00 0D 58 01 51 66 FA 44 A0 10 66 FE 00 A0 F7 FF F0 12 43 03 [05] 00 11 48 01 4D 87 C5 38 A0 15 87 C0 00 A0 F7 FF F0 12 43 03 [06] 00 10 48 01 1D 46 F1 42 A0 15 71 F0 00 A0 F7 FF F0 12 43 03 [07] 00 04 70 01 10 81 F3 4D A0 14 81 F2 00 A0 F7 FF F0 12 43 03 [08] 00 09 50 01 70 26 F3 6A A0 11 35 F1 02 A0 F7 FF F0 12 43 03 [09] 00 07 68 01 10 82 CA 3A A0 10 82 C5 00 A0 F7 ----------------------------------------- Mtsqチャンクで指定するエクスクルーシブは track(1)〜(16)に対して以下のように設定。 [MTR-1: 1,2,3,4] FF F0 06 43 03 91 (18) [00] F7 FF F0 06 43 03 91 (18) [00] F7 FF F0 06 43 03 91 (19) [10] F7 FF F0 06 43 03 91 (19) [10] F7 [00] = [0000 0000] : 音色番号 (MTR1-2, MTR1-1) = (0, 0) [10] = [0001 0000] : 音色番号 (MTR1-4, MTR1-3) = (1, 0) ----------------------------------------- [MTR-2: 5,6,7,8] FF F0 06 43 03 91 (1A) [20] F7 FF F0 06 43 03 91 (1A) [20] F7 FF F0 06 43 03 91 (1B) [43] F7 FF F0 06 43 03 91 (1B) [43] F7 [20] = [0010 0000] : 音色番号 (MTR2-6, MTR2-5) = (2, 0) [43] = [0100 0011] : 音色番号 (MTR2-8, MTR2-7) = (4, 3) ----------------------------------------- [MTR-3: 9,10,11,12] FF F0 06 43 03 91 (1C) [05] F7 FF F0 06 43 03 91 (1C) [05] F7 FF F0 06 43 03 91 (1D) [76] F7 FF F0 06 43 03 91 (1D) [76] F7 [05] = [0000 0101] : 音色番号 (MTR3-10, MTR3-9 ) = (0, 5) [76] = [0111 0110] : 音色番号 (MTR3-12, MTR3-11) = (7, 6) ----------------------------------------- [MTR-4: 13,14,15,16] FF F0 06 43 03 91 (1E) [80] F7 FF F0 06 43 03 91 (1E) [80] F7 FF F0 06 43 03 91 (1F) [09] F7 FF F0 06 43 03 91 (1F) [09] F7 [80] = [1000 0000] : 音色番号 (MTR3-13, MTR3-14) = (8, 0) [09] = [0000 1001] : 音色番号 (MTR3-16, MTR3-15) = (0, 9) ----------------------------------------- (18)〜(1F)は、MTR-[1,2] 〜 MTR-[15,16] を表す。 8 = [1 000] MTR1-[ 1, 2] 9 = [1 001] MTR1-[ 3, 4] A = [1 010] MTR2-[ 5, 6] B = [1 011] MTR2-[ 7, 8] C = [1 100] MTR3-[ 9,10] D = [1 101] MTR3-[11,12] E = [1 110] MTR4-[13,14] F = [1 111] MTR4-[15,16] ----------------------------------------- 以上よりMTRxチャンクのMtsqチャンクは FUNCTION_INIT { [00 00 31 xx] [00 00 30 xx] [MTRx-1 エクスクルーシブ] [00 00 71 xx] [00 00 70 xx] [MTRx-2 エクスクルーシブ] [00 00 B1 xx] [00 00 B0 xx] [MTRx-3 エクスクルーシブ] [00 00 F1 xx] [00 00 F0 xx] [MTRx-4 エクスクルーシブ] [00 00 37 xx] [00 00 77 xx] [00 00 B7 xx] [00 00 F7 xx] } FUNCTION_MAIN { 音符データストリ〜〜ム ・・・・・ } FUNCTION_END { [xx FF 00] [00 FF 00] [00 00 00 00] } こんな感じになる。