JUNO-D のシーン設定を読むため、MIDI Debugger に sysex data request 1 (rq1) scene common と入力して Send を押しました。返ってきた 63 バイトの SysEx には、「Temporary Scene / Scene Common」という名前が表示されました。
MIDI Debugger では、メッセージの送信、応答の確認、詳細表示を一つの画面で行えます。機器固有の名前による入力補完とデコードには、モニタと共通のデバイス定義を使っています。
CLI 入力と補完
画面の下に、送り先、チャンネル、入力欄(CLI)、HEX の欄があります。入力欄には、短いコマンドでメッセージを書きます。
note on C4 100
cc 74 96 ch2
nrpn 0:36 8
sysex data request 1 (rq1) scene common
コマンドは note、cc、pc、pb、cp、pp、rpn、nrpn、sysex、panic、reset です。入力に合わせて、入力欄のすぐ上に候補が並びます。Tab かクリックで確定でき、候補を選んだだけでは送信しません。

候補は、送り先に割り当てたデバイス定義から作られます。
- 音名と値。 ノートは C-1〜G9(C4 = 60)の音名で入力できます。値には
min、center、maxも使えます。 - CC と RPN、NRPN の名前。 定義にある名前で入力できます。番号での入力もそのまま使えます。
- SysEx。 共通のメッセージに加えて、送り先の機器のメッセージと、アドレスマップの区分とブロックが候補に出ます。上の画面では、JUNO-D のシーンの区分が、アドレスとサイズ付きで並んでいます。
入力した内容は、すぐ下の HEX の欄にバイト列で表示されます。HEX の欄に直接バイト列を書いて送ることもできます。
送信時の処理
Send を押すと送信を開始します。NRPN は 4 つの CC、長い SysEx は複数のパケットになりますが、どちらも 1 回の操作として、まとめて受け付けます。入力の誤りや送り先の問題で受け付けられないときは、一部だけを送ることはせず、1 件も送りません。Roland のチェックサムなど、機器固有の値も定義に従って生成します。
一覧の Tx 行には、実際に送信を観測したメッセージを表示します。受付が成功しただけでは Tx 行を追加しません。機器からの応答は Rx 行で確認でき、入力エラーや送信失敗はダイアログで通知します。
受信した SysEx の詳細を読む
DT1 の詳細表示では区分とブロックの名前を確認できます。データを個々のパラメータの値に分ける表示には対応していません。
送ったメッセージと届いたメッセージは、時刻、方向(Rx / Tx)、送り元、種類、チャンネル、長さ、データの列で、同じ一覧に並びます。冒頭の例では、17 バイトの RQ1 が Tx、63 バイトの DT1 が Rx として続いています。

行を選ぶと、右の Message Detail に中身が出ます。DT1 なら、メーカー、機種、メッセージの種類、アドレスとその名前(「Temporary Scene / Scene Common」)、全体の Hex Dump です。Hex Dump の右側には文字も表示されるので、この例ではシーンの名前「Studio Piano」が読めます。
デコード処理はモニタと共通なので、同じメッセージには同じ名前が表示されます。
差分の比較と値の追跡
- Compare。 一覧で 2 件を選ぶと、同じ位置のバイトを並べて比べ、違うバイトを赤で示します。違うバイトの数と割合、長さの差も出ます。挿入されたバイトを探して位置をずらす比較ではありません。
- Watch。 CC 74 や Pitch Bend などを登録しておくと、一覧が流れても最新の値と時刻が残ります。観測が欠けたときは、値を確定せずに「不確定」と示します。
- Channel State。 選んだメッセージのチャンネルについて、押されたままのノート、Bank Select、Program、Pitch Bend、Sustain などの最新の観測値を並べます。観測したものだけを表示し、機器の状態を推測はしません。
記録して、送り直す
Record で、選んだ機器との送受信を記録し、Take として保存できます。Replay では、記録から選んだメッセージを、送り先を明示して、まとめて 1 回、または 1 つずつ送り直せます。返事が来なかったときに、同じ要求をもう一度送ることもできます。
送信と応答確認を一つの画面に
MIDI を調べるときは、メッセージを送り、届いたものを確かめ、また少し変えて送る、の繰り返しになります。送る道具と見る道具が別だと、そのたびに画面を行き来し、送った内容と返事を自分で突き合わせることになります。MIDI Debugger は、その往復を一つの画面に収めました。
機器固有の情報はデバイス定義にまとめています。定義を更新すると、モニタの表示と MIDI Debugger の入力補完の両方に反映されます。この考え方は「CC 102 が「OP1 Level」と読めるまで」に、JUNO-D のアドレスマップの作り方は「JUNO-D の SysEx を名前で送り、名前で読む」に書きました。