FM音源プログラム (24) -- LCD 表示 (2)

LCD 画面について、説明しておきます。
ちなみに、この画像は LCD 画面を撮影したものではなく、プログラムで画像ファイルを作ったものです。
色合いは、バックライト付きの LCD をイメージしてあります。
画面が変化するアニメーション GIF も作ってみたのですが、はてなフォトライフにアップロードすると静止画の GIF に変換されてしまうようで、うまく行きませんでした。
(2008 年 8 月 28 日に、はてなフォトライフにアニメーション GIF がアップロードできるようになりましたので、画像を差し替えました)

簡易 MIDI モニタ


下の行の中央部が「光る鍵盤」による表示で、左端の 16 進数 2 桁は、ノートオン時の MIDI ノート番号、右端の数値は、そのノートに対するベロシティ値です。 
次のノートオンを受信するまで、表示は保持されています。 ノートオフでは消えません。
XG/GS/GM/GM2 システムオンのエクスクルーシブを受信すると、このノート番号の位置に「XG」、「GS」、「GM」あるいは「G2」と表示されます。
上の行の左端の 3 文字は順に「モニタ中の受信チャンネル」「キーオン状態」「オクターブ」となっています。
通常、MIDI チャンネルは 1 〜 16 で表記しますが、MIDI ステータスバイトの中では、4 ビット数値の 0 〜 15 で表現されています。
ここでの「受信チャンネル」はステータスバイト中の表現のまま、16 進 1 桁の 0 〜 F で表しています。
タクトスイッチの操作で、表示する「バート」を選択できます。 「パート」自体は表示されず、そのパートに割り当てられている「受信チャンネル」が表示されます。
「キーオン状態」は、キーオフではアンダースコア「_」が表示され、1 音だけキーオンしている場合にコロン「:」が表示され、2 音以上同時にキーオンしている場合にはポンド記号「#」が表示されます。
「オクターブ」は、以前に説明したように、MIDI ノートの最低音を「C0」とした場合のオクターブの数値です。
上の行の中央部の「P=xx」という部分はプログラム・チェンジで指定された音色番号の表示です。 番号はデータバイトの数値そのままの、 00 〜 7F です。
右側の「C=xx:xx」の部分はアフタータッチ/ピッチベンド/コントロール・チェンジの表示で、それぞれ、最初の部分が「A=」、「B=」、「C=」で区別できるようになっています。
この表示例からは、

  • 受信チャンネル = 0
  • プログラム・チェンジ = 0x2E = 46 = 「Orchestral Harp」
  • コントロール・チェンジ (CC#07) = volume の値が 0x7F
  • ノート番号 = 0x51 = 81 (A6)、ベロシティ = 0x6E = 110 の 1 音だけ発音中

ということが分かります。

MIDI 受信チャンネル割り当て


「簡易 MIDI モニタ」あるいは「NRPN / RPN 表示」の画面で選んだ「パート」の MIDI 受信チャンネルの割り当てを変更します。

選んだパートの MIDI 受信チャンネルの表示は点滅しています。

「INC」ボタンで MIDI チャンネル番号が大きくなる方向、「DEC」ボタンで MIDI チャンネル番号が小さくなる方向に変更できます。
チャンネル 0 と 15 との間でラップアラウンドし、すでに選択ずみの MIDI チャンネルはスキップされます。

NRPN / RPN 表示


直近の2つの NRPN / RPN メッセージの表示をします。「(N)RPN」 の後の 16 進 4 桁は、(N)RPN 番号の MSB、LSB を連続して表示したものです。
左端のコロン「:」の前の数値は、現在選択中のパートに割り当てられている MIDI 受信チャンネルです。
「簡易 MIDI モニタ」と同様に、スイッチ操作で「パート」を選択できます。
右端のコロン「:」ではさまれた数値は、データのMSB、LSB です。
この表示例では、

  • NRPN#0120 = TVF cutoff freq.、 MSB = 0x3C = 60
  • RPN#0000 = ピッチベンド・レンジ、 MSB = 0x0C = 12 半音

ということが分かります。

システム・エクスクルーシブ表示


直近のシステム・エクスクルーシブを、最初のバイトの「0xF0」から最後のバイトの「0xF7」までを 16 進数で区切りのスペースなしで表示します。
この表示例は、「GM システムオン」です。

システム設定 / CPU 負荷表示


CPU 負荷、同時発音数、サンプリング周波数の表示と、同時発音数の切り替えを行います。
「INC」ボタンで同時発音数が大きくなる方向に、「DEC」ボタンで同時発音数が小さくなる方向に変化します。
同時発音数を切り替えると、音源としては初期化されるので、それまでの設定はすべて初期値に戻ります。
CPU 負荷の数値は目安程度です。