スポンサーリンク

ZOOM MS-50G のMIDIメッセージ詳細

さて、ZOOMのエフェクター、MS-50GのMIDI制御ですが現在こんな感じで、パッチの入れ替えや保存、エフェクトの編集など一通りできるようになっています。

https://g200kg.github.io/zoom-ms-utility/

問題のMIDIコマンドですが、PrgChgでパッチの切り替えができるというのはかなり知られているようなのですがそれ以上はなかなか判明せず、ちょっと難しいかと思っていた所、ガレスタさんのDIY日記に突っ込んだ情報があると教えていただいたのを手がかりに、詳細まで踏み込んで調べてみました。

PrgChgと一部にCtlChgが使われている以外はすべてSysExです。

パッチのやり取りをする際のメインとなる 146bytesのメッセージには全てのエフェクトのパラメータとパッチ名が含まれていて、この構造が肝心な部分なのですが、これがちょっと困った事に各パラメータのビットがバラバラに切り刻まれて配置されています。隠すためにスクランブルしているという風でもなく、見た感じでは機能の増築を繰り返した結果なのですかね?

基本的にこのデータを送り込むとエフェクトの種類、パラメータの指定、Effect/Bypassの切り替え、画面に表示されるエフェクトの番号などをまとめて設定できます。

146bytesの表が下の方にありますが、この中で「1p2b3」のような表記になっているのは、
[エフェクト番号]p[パラメータ番号]b[ビット]

を表し、パラメータ値を構成するビットを表します。ここで、エフェクト番号は 0-5、パラメータ番号は3ページ分で 0-8 となります。

表の抜けている部分等にもまだ詳細不明な部分も残っていますが、取りあえずここまで。


ZOOM MS-50G MIDI Mesasges

This is a non-official document based on a personal and non-strict experiments.

Short messages

Patch Select

[0xc0,pp] : Program Change

Select a patch. pp=patch number (0-49)

Tuner Mode On/Off

[0xb0,0x4a,mm] : Control Change CC#74

Tuner Mode On/Off. mm<64:off, mm="">=64:on

System Exclusives

Identity Request

[0xf0,0x7e,0x00,0x06,0x01,0xf7] : Identity Request

This is a MIDI Universal System Exclusive message, ‘Identity Request’.
MS-50G returns ID code and version number :
[0xf0,0x7e,0x00,0x06,0x02,0x52,0x58,0x00,0x00,0x00,0x33,0x2e,0x30,0x30,0xf7]

Send Patch

[0xf0,0x52,0x00,0x58,0x28,effect1,effect2,…effect6,patch-name,0xf7] (146bytes)

Write 146bytes patch-data to current program.
It consist of effect1-6 parameters and patch-name. Details are described later.

Request Patch

[0xf0,0x52,0x00,0x58,0x29,0xf7]

Request patch-data of current program. it returns 146 bytes patch-data (same as Send Patch command)

Parameter Edit

[0xf0,0x52,0x00,0x58,0x31,nn,pp,vvLSB,vvMSB,0xf7]

Parameter value edit. nn=effect#(0-5) pp=param#(0-10) vv=value.
It seems effective only for effect1-3
value range is depends on each effect.

pp=0 : switch Effect/Bypass vv=0:off / vv=1:on.
pp=2 : page1-knob1
pp=3 : page1-knob2
.
.
pp=10: page3-knob3

Store Patch

[0xf0,0x52,0x00,0x58,0x32,0x01,0x00,0x00,0x2c,0x00,0x00,0x00,0x00,0x00,0xf7]

Force store to memory. Message [Storing…] is displayed

Request Current Program

[0xf0,0x52,0x00,0x58,0x33,0xf7]

Request current bank & program.
MS-50G returns bank select and program change :
[0xb0,0x00,0x00, 0xb0,0x20,0x00, 0xc0,pp]
here the pp=program#(0-49), bank is always 0

Parameter Edit Enable

[0xf0,0x52,0x00,0x58,0x50,0xf7]

Parameter value edit enable. This is needed before Parameter Editing.

Parameter Edit Disable

[0xf0,0x52,0x00,0x58,0x51,0xf7]
Parameter value edit disable.

??? :

[0xf0,0x52,0x00,0x58,0x60,0xf7]

Not yet sure

Patch Data Format

Patch-data is MIDI system exclusive data.
It starts with F0 and ends with F7
consist of :

F0 52 00 58 28.. eff1 eff2,… eff5 eff6 patchName F7

eff1 to eff6 include the on/off state, type of each effect, parameter values. bit arrangement is scrambled rather than fixed format

In the following table, the notation like ‘1p2b3’ means
[Effect number(0-5)] p [Parameter number(0-8)] b [bit].
Other notation means :
0t … Effect1 Type Bits
0EfOn … Effect1 On/Off
c0 … Current Effect Focus 6-n => 0-5
n0 … Max Effect Number
N0-N9 … Patch Name (max 10char)

Offset Data
0 0xF0
1 0x52
2 0x00
3 0x58
4 0x28
b7 b6 b5 b4 b3 b2 b1 b0
5 0 0t 0p0b2 0p0b10 0p1b5 0p2b0
6 0 0t 0t 0t 0t 0t 0t 0EfOn
7 0 0t 0t 0t
8 0
9 0 0p0b1 0p0b0 0t 0t 0t 0t 0t
10 0 0p0b9 0p0b8 0p0b7 0p0b6 0p0b5 0p0b4 0p0b3
11 0 0p1b4 0p1b3 0p1b2 0p1b1 0p1b0 0p0b11
12 0 0p1b10 0p1b9 0p1b8 0p1b7 0p1b6
13 0 0p2b8 0p3b3 0p4b3 0p5b3 0p6b3 0p7b3
14 0 0p2b7 0p2b6 0p2b5 0p2b4 0p2b3 0p2b2 0p2b1
15 0 0p3b2 0p3b1 0p3b0 0p2b10 0p2b9
16 0 0p4b2 0p4b1 0p4b0 0p3b7 0p3b6 0p3b5 0p3b4
17 0 0p5b2 0p5b1 0p5b0 0p4b7 0p4b6 0p4b5 0p4b4
18 0 0p6b2 0p6b1 0p6b0 0p5b7 0p5b6 0p5b5 0p5b4
19 0 0p7b2 0p7b1 0p7b0 0p6b7 0p6b6 0p6b5 0p6b4
20 0 0p7b8 0p7b7 0p7b6 0p7b5 0p7b4
21 0 0p8b7 1t
22 0
23 0
24 0 0p8b6 0p8b5 0p8b4 0p8b3 0p8b2 0p8b1 0p8b0
25 0
26 0 1t 1t 1t 1t 1t 1t 1EfOn
27 0 1t 1t 1t
28
29 0 1p0b2 1p0b10 1p1b5 1p2b0 1p2b8 1p3b3 1p4b3
30 0 1p0b1 1p0b0 1t 1t 1t 1t 1t
31 0 1p0b9 1p0b8 1p0b7 1p0b6 1p0b5 1p0b4 1p0b3
32 0 1p1b4 1p1b3 1p1b2 1p1b1 1p1b0 1p0b11
33 0 1p1b10 1p1b9 1p1b8 1p1b7 1p1b6
34 0 1p2b7 1p2b6 1p2b5 1p2b4 1p2b3 1p2b2 1p2b1
35 0 1p3b2 1p3b1 1p3b0 1p2b10 1p2b9
36 0 1p4b2 1p4b1 1p4b0 1p3b7 1p3b6 1p3b5 1p3b4
37 0 1p5b3 1p6b3 1p7b3 1p8b7
38 0 1p5b2 1p5b1 1p5b0 1p4b7 1p4b6 1p4b5 1p4b4
39 0 1p6b2 1p6b1 1p6b0 1p5b6 1p5b5 1p5b4
40 0 1p7b2 1p7b1 1p7b0 1p6b7 1p6b6 1p6b5 1p6b4
41 0 1p7b8 1p7b7 1p7b6 1p7b5 1p7b4
42 0
44 0 1p8b6 1p8b5 1p8b4 1p8b3 1p8b2 1p8b1 1p8b0
43 0
45 0 2t 2p0b2 2p010 2p1b5
46 0
47 0 2t 2t 2t 2t 2t 2EfOn
48 0 2t 2t 2t
49 0
50 0 2p0b1 2p0b0 2t 2t 2t 2t 2t
51 0 2p0b9 2p0b8 2p0b7 2p0b6 2p0b5 2p0b4 2p0b3
52 0 2p1b4 2p1b3 2p1b2 2p1b1 2p1b0 2p0b11
54 0 2p1b10 2p1b9 2p1b8 2p1b7 2p1b6
53 0 2p2b0 2p2b8 2p3b3 2p4b3 2p5b3 2p6b3 2p7b3
55 0 2p2b7 2p2b6 2p2b5 2p2b4 2p2b3 2p2b2 2p2b1
56 0 2p3b2 2p3b1 2p3b0 2p2b10 2p2b9
57 0 2p4b2 2p4b1 2p4b0 2p3b7 2p3b6 2p3b5 2p3b4
58 0 2p5b2 2p5b1 2p5b0 2p4b7 2p4b6 2p4b5 2p4b4
59 0 2p6b2 2p6b1 2p6b0 2p5b7 2p5b6 2p5b5 2p5b4
60 0 2p7b2 2p7b1 2p7b0 2p6b7 2p6b6 2p6b5 2p6b4
61 0 3t 2p8b7
62 0 2p7b8 2p7b7 2p7b6 2p7b5 2p7b4
63 0
64 0
65 0 2p8b6 2p8b5 2p8b4 2p8b3 2p8b2 2p8b1 2p8b0
67 0 3t 3t 3t 3t 3t 3t 3EfOn
66 0
68 0 3t 3t 3t
69 0 3p0b2 3p0b10 3p1b5 3p2b0 3p2b8 3p3b3
70 0
71 0 3p0b1 3p0b0 3t 3t 3t 3t 3t
72 0 3p0b9 3p0b8 3p0b7 3p0b6 3p0b5 3p0b4 3p0b3
73 0 3p1b4 3p1b3 3p1b2 3p1b1 3p1b0 3p0b11
74 0 3p1b10 3p1b9 3p1b8 3p1b7 3p1b6
75 0 3p2b7 3p2b6 3p2b5 3p2b4 3p2b3 3p2b2 3p2b1
76 0 3p3b2 3p3b1 3p3b0 3p2b10 3p2b9
77 0 3p4b3 3p5b3 3p6b3 3p7b3
78 0 3p4b2 3p4b1 3p4b0 3p3b7 3p3b6 3p3b5 3p3b4
79 0 3p5b2 3p5b1 3p5b0 3p4b7 3p4b6 3p4b5 3p4b4
80 0 3p6b2 3p6b1 3p6b0 3p5b7 3p5b6 3p5b5 3p5b4
81 0 3p7b2 3p7b1 3p7b0 3p6b7 3p6b6 3p6b5 3p6b4
82 0 3p7b8 3p7b7 3p7b6 3p7b5 3p7b4
83 0
84 0
85 0 3p8b7 4t 4p0b2 4p0b10
86 0 3p8b6 3p8b5 3p8b4 3p8b3 3p8b2 3p8b1 3p8b0
87 0
88 0 4t 4t 4t 4t 4t 4t 4EfOn
89 0 4t 4t 4t
90 0
91 0 4p0b1 4p0b0 4t 4t 4t 4t 4t
92 0 4p0b9 4p0b8 4p0b7 4p0b6 4p0b5 4p0b4 4p0b3
93 0 4p1b5 4p2b0 4p2b8 4p3b3 4p4b3 4p5b3 4p6b3
94 0 4p1b4 4p1b3 4p1b2 4p1b1 4p1b0 4p0b11
95 0 4p1b10 4p1b9 4p1b8 4p1b7 4p1b6
96 0 4p2b7 4p2b6 4p2b5 4p2b4 4p2b3 4p2b2 4p2b1
97 0 4p3b2 4p3b1 4p3b0 4p2b10 4p2b9
98 0 4p4b2 4p4b1 4p4b0 4p3b7 4p3b6 4p3b5 4p3b4
99 0 4p5b2 4p5b1 4p5b0 4p4b7 4p4b6 4p4b5 4p4b4
100 0 4p6b2 4p6b1 4p6b0 4p5b7 4p5b6 4p5b5 4p5b4
101 0 4p7b3 4p8b7 5t
102 0 4p7b2 4p7b1 4p7b0 4p6b7 4p6b6 4p6b5 4p6b4
103 0 4p7b8 4p7b7 4p7b6 4p7b5 4p7b4
104 0
105 0
106 0 4p8b6 4p8b5 4p8b4 4p8b3 4p8b2 4p8b1 4p8b0
107 0
108 0 5t 5t 5t 5t 5t 5t 5EfOn
109 0 5p0b2 5p0b10 5p1b5 5p2b0 5p2b8
110 0 5t 5t 5t
111 0
112 0 5p0b1 5p0b0 5t 5t 5t 5t 5t
113 0 5p0b9 5p0b8 5p0b7 5p0b6 5p0b5 5p0b4 5p0b3
114 0 5p1p4 5p1b3 5p1b2 5p1b1 5p1b0 5p0b11
115 0 5p1b10 5p1b9 5p1b8 5p1b7 5p1b6
116 0 5p2b7 5p2b6 5p2b5 5p2b4 5p2b3 5p2b2 5p2b1
117 0 5p3b3 5p4b3 5p5b3 5p6b3 5p7b3
118 0 5p3b2 5p3b1 5p3b0 5p2b10 5p2b9
119 0 5p4b2 5p4b1 5p4b0 5p3b7 5p3b6 5p3b5 5p3b4
120 0 5p5b2 5p5b1 5p5b0 5p4b7 5p4b6 5p4b5 5p4b4
121 0 5p6b2 5p6b1 5p6b0 5p5b7 5p5b6 5p5b5 5p5b4
122 0 5p7b2 5p7b1 5p7b0 5p6b7 5p6b6 5p6b5 5p6b4
123 0 5p7b8 5p7b7 5p7b6 5p7b5 5p7b4
124 0
125 0 5p8b7 c1
126 0
127 0 5p8b6 5p8b5 5p8b4 5p8b3 5p8b2 5p8b1 5p8b0
128 0
129 0 c2
130 0 n2 n1 n0 c0
131 0
132 N0
133 0x00
134 N1
135 N2
136 N3
137 N4
138 N5
139 N6
140 N7
141 0x00
142 N8
143 N9
144 0x00
145 0xF7
未分類
スポンサーリンク