戻る

The programmable MIDI controller

使い方 (Ver.2.41)



  1. 外観
  2. 初めて電源を入れる時は...
  3. 使ってみよう
  4. 内部のデータの流れ
  5. パラメータ編集モードの解説
    0:ボリュームオペレータ編集
    1:ボリュームアサイン編集
    2:ボリューム読み込み範囲編集
    3:キーデータ編集
    4:データコピー
    5:データ移動
    6:データ入れ替え
    7:データ消去
    8:フリーランモード切替
    9:バンク切り替え後自動送信切替
    A:MIDIデータ手入力送信
    B:MIDIトラフィックメータ
  6. EEPROMセットアップメニューの解説
    0:EEPROMデータエクスポート
    1:EEPROMデータインポート
    2:EEPROMイニシャライズ
    3:EEPROM ICチェック
  7. ユーティリティーソフトのダウンロード

外観
基本は中の回路だけなので、パネルの定義として私の作ったものを利用します。ボリュームが0から始まっているのに注意してください。


初めて電源を入れる時は...
初めて電源を入れる時はEEPROMの中に何が書いてあるかわからないので、うっかり電源を入れると意味の無いデータが送信されます。
EEPROMメニューに入りEEPROMに初期データを書き込んでください。

使ってみよう
パネル図のボリューム位置で電源を入れたらLCDの表示は次のようになります。これがメイン画面です。

16進数表示 10進数表示

今の画面ではボリュームの位置が16進数で表示されています。この状態で [BACK] キーを押すと10進数と交互に切り替わります。
右端の記号は、テンキーの動作モード(上)とメモリバンクの番号(下)を意味しています。
ためしに設定を変えてみると...

左の設定では、テンキーがキータッチ送信モード / バンクは「A」/ バンク切り替え後送信「しない」
中央の設定では、テンキーがボリューム位置セーブ / バンクは「4」 / バンク切り替え後送信「する」
右の設定では、テンキーがボリューム位置ロード / バンクは「A」/ バンク切り替え後送信「する」になっています。
どこが違うかわかりますか? バンク切り替え後送信をする場合、テンキーモードの1文字目が小文字になります。

ボリュームをまわしてみましょう。数値が変わります。最小が「0」最大が「127」であることがわかります。
ボリュームを回しても今の時点では送信LEDが光らないのは送信するデータが登録されていないからです。
実際にボリューム0の編集をしてみましょう。[MENU] キーを押し、パラメータ編集画面を出して [0] キーを押します。

するとどのオペレータを編集しますか?と聞いているので[0]を押します。

バイナリエディタの画面が出てくるので、ためしに次のように入力してください。
90 FF 00 7F 80 FF 00 7F FF F0 [MENU] [BACK] [BACK]
間違った場合は [<<] [>>] キーで移動することができます。
メイン画面に戻っていると思うので、MIDI OUT端子からMIDI音源に接続してボリューム0をまわしてみましょう。
ボリュームに従ってノートオン/オフが出力されています。

内部データの流れ
ボリューム系統のデータの流れです。各機能を追加するために変化検出が2段になっています。

ボリューム位置セーブ/ロードが読み込み範囲処理の前に来ているのは、0~255の生データを保存することによって
読み込み範囲を変えた時でも正常に動作するように(オーバーしないように)するためのものです。

パラメータ編集モードの解説
メイン画面で [MENU] キーを押すとパラメータ編集モードになります。この時はMIDIデータを送信しません。
この時に [<<] [>>] キーでメニューを選択し、[MENU] キーで各編集モードへ入れます。
編集モードの番号を覚えてしまった方は、番号を入れると直接編集モードへジャンプできます。
[BACK] キーでメイン画面に戻ります。各編集画面でも [BACK] キーで前の画面に戻ります。
なお、前回使ったメニューの位置は電源を切るまで保存されます。

0:ボリュームオペレータ編集

ボリュームのオペレータを編集する画面です。
オペレータはバンクごとに8個あるので、編集したいオペレータをテンキーで入力します。
編集するバンクはメイン画面で使われているバンクが使用されます。

オペレータは64バイトあるので、数値を入力するか [<<] [>>] キーでバイト間を移動します。キーリピートはついていません。
[MENU] キーで変更した値を保存、[BACK] キーで変更を破棄です。

オペレータデータには普通のMIDIデータを入力しますが、ボリュームの位置を埋め込むために FF に続く数値を入力します。
これを FFコード と呼ぶことにします。
FFコード割り当て表
 01234567F
0*VR0VR1VR2VR3VR4VR5VR6VR7 
1*逆VR0逆VR1逆VR2逆VR3逆VR4逆VR5逆VR6逆VR7 
2*VR0下位VR1下位VR2下位VR3下位VR4下位VR5下位VR6下位VR7下位 
3*VR0上位VR1上位VR2上位VR3上位VR4上位VR5上位VR6上位VR7上位 
4*チェックサムクリアチェックサム送信       
5*         
6*         
7*         
8*80+VR080+VR180+VR280+VR380+VR480+VR580+VR680+VR7 
9*90+VR090+VR190+VR290+VR390+VR490+VR590+VR690+VR7 
A*A0+VR0A0+VR1A0+VR2A0+VR3A0+VR4A0+VR5A0+VR6A0+VR7 
B*B0+VR0B0+VR1B0+VR2B0+VR3B0+VR4B0+VR5B0+VR6B0+VR7 
C*C0+VR0C0+VR1C0+VR2C0+VR3C0+VR4C0+VR5C0+VR6C0+VR7 
D*D0+VR0D0+VR1D0+VR2D0+VR3D0+VR4D0+VR5D0+VR6D0+VR7 
E*E0+VR0E0+VR1E0+VR2E0+VR3E0+VR4E0+VR5E0+VR6E0+VR7 
F*データ終了       FF送信
00~07ボリュームの値を加工せずに出力します。
10~17ボリュームの値をレンジの値に従って逆カーブにします。レンジ9~Bを使っているときは、値の40が41に変換されます。
20~27ボリュームの値の下4ビットを出力します。
30~37ボリュームの値の上4ビットを下位にシフトして出力します。
40チェックサムをクリアします。チェックサムの計算を開始したい場所に指定します。
41チェックサムの値をRoland式の計算方法で出力します。
80~87ボリュームの下位4ビットに0x80を加えて出力します。ノートオフのチャンネルを変える時に使用します。
90~97ボリュームの下位4ビットに0x90を加えて出力します。ノートオンのチャンネルを変える時に使用します。
A0~A7ボリュームの下位4ビットに0xA0を加えて出力します。ポリフォニックキープレッシャのチャンネルを変える時に使用します。
B0~B7ボリュームの下位4ビットに0xB0を加えて出力します。コントロールチェンジのチャンネルを変える時に使用します。
C0~C7ボリュームの下位4ビットに0xC0を加えて出力します。プログラムチェンジのチャンネルを変える時に使用します。
D0~D7ボリュームの下位4ビットに0xD0を加えて出力します。チャンネルプレッシャのチャンネルを変える時に使用します。
E0~E7ボリュームの下位4ビットに0xE0を加えて出力します。ピッチベンドのチャンネルを変える時に使用します。
F0データ列が64バイト未満のときに、データ終了を示すマークです。
FF実際にFFを出力したい時に指定します。
80~E7はボリュームの読み込み範囲を 4:00-0F に指定しないと正しく動きません。チェックもかけていないので注意してください。

なお、64バイト目に「FF」が入った場合、次のオペレータ処理に移る時にFFコードのフラグがリセットされないようになっているので、
64バイト以上のデータをボリュームにアサインするときは、連続したオペレータを使うとあたかも1つのオペレータのように振舞うことができます。

1:ボリュームアサイン編集

ボリュームを動かした時にどのオペレータを発動させるかを指定します。
編集したいボリュームをテンキーで入力します。この画面も編集するバンクはメイン画面で使われているバンクが使用されます。

四角のマークがあるところが選択されているところです。[0]~[7] キーで選択/解除できます。
右のように何も選択しないことも可能です。[MENU] キーで変更を保存、[BACK] キーで変更を破棄です。
初期設定では下の図のようにマッピングされています。

2:ボリューム読み込み範囲編集

ボリュームを動かした時に、どの範囲までを読み込むかを指定します。
実際には256段階で読み込んだものを割り算して算出しています。番号がC以降のものは負の値が出力されるようになります。
編集したいボリュームをテンキーで入力します。この画面も編集するバンクはメイン画面で使われているバンクが使用されます。

[<<] [>>] キーで範囲を選択します。また数字 [0] ~ [F] で選択もできます。
指定番号範囲内部計算
000~FFVR
100~7FVR/2
200~5FVR/4 + VR/8 (if VR=255 then Value=5F)
300~3FVR/4
400~1FVR/8
500~0FVR/16
600~07VR/32
700~03VR/64
800~01VR/128
910~40~6FVR/4 + VR/8 + 0x10 (if VR=255 then Value=6F)
A20~40~5FVR/4 + 0x20
B30~40~4FVR/8 + 0x30
C80~00~7FVR - 0x80
DC0~00~40VR/2 + 0xC0 (if VR=255 then Value=40)
ED0~00~30VR/4 + VR/8 + 0xD0 (if VR=255 then Value=30)
FE0~00~20VR/4 + 0xE0 (if VR=255 then Value=20)
gF0~00~10VR/8 + 0xF0 (if VR=255 then Value=10)
h F8~00~08VR/16 + 0xF8 (if VR=255 then Value=08)
i FC~00~04VR/32 + 0xFC (if VR=255 then Value=04)
j FE~00~02VR/64 + 0xFE (if VR=255 then Value=02)

3:キーデータ編集

キータッチ送信モードのデータを編集する画面です。
キーのデータはバンクごとに16個あるので、編集したいキーをテンキーで入力します。
編集するバンクはメイン画面で使われているバンクが使用されます。
編集はボリュームオペレータ編集と同じで長さは64バイト、FFコードも使えます。
[MENU] キーで変更した値を保存、[BACK] キーで変更を破棄です。

4:データコピー

オペレータ/キーデータのコピーとバンク間のコピーが可能です。
上の例では、データ元にバンク0のボリューム0、コピー先がバンク7のキーEが指定してあります。

まずバンクの数値を入力したあと、[0] でボリュームオペレータ、[1] でキーデータ、[2] でバンクコピーが選べます。
ボリュームやキーを選んだ後には個々の番号を入力します。

上の例は、バンク間のコピーをしています。データ元のバンクを選んだ後に[2] を押すと"All"が表示されコピー先のバンク選択
になります。
入力が終わってこの設定でよければ [MENU] を押してコピーを開始します。変更するなら [BACK] で戻って入力しなおします。
オペレータ/キーデータの時はデータのみのコピーで、バンクコピーになるとデータとアサイン情報やボリューム位置
セーブなどもコピーされます。

5:データ移動

オペレータ/キーデータの移動とバンク間の移動が可能です。
操作方法と制約は、データコピーとまったく同じです。
移動元データがあった場所は初期化されます。内部的には4:データコピー後、7:データ消去が実行されています。
例では、バンク0のデータをバンク2へ移動しています。

6:データ入れ替え

オペレータ/キーデータの入れ替えとバンク間のデータ入れ替えが可能です。
操作方法と制約は、データコピーとまったく同じです。
例では、バンク4のオペレータ3とバンク4のオペレータ4を入れ替えしています。

7:データ消去

オペレータ/キーデータの消去とバンク全体の消去が可能です。
操作方法は、データコピーとまったく同じです。
オペレータ/キーデータの消去時はゼロクリア後のデータ部分に FF F0 を書き込みます。
バンク全体消去の時はバンクをゼロクリア後、オペレータアサインなども初期化されます。
例では、バンク2全体を消去しています。

8:フリーランモード切替

ボリュームを変化させなくてもデータを流しつづけるフリーランモードです。
メニュー表示は切り替え後の設定を表示していて、[MENU] または [8] を押すごとに ON と OFF が切りかわります。
切り替えを実行すると直接メイン画面へ戻ります。
このモードがONの時は、ボリューム位置ロード機能は働きません。

9:バンク切り替え後自動送信切替

バンクを切り替えたあとに1回だけボリュームを変化させなくてもデータを流します。
メニュー表示は切り替え後の設定を表示していて、[MENU] または [9] を押すごとに ON と OFF が切りかわります。
切り替えを実行すると直接メイン画面へ戻ります。
また、メイン画面のテンキーモード表示が大文字か小文字かでONかOFFかを見分けることもできます。

A:MIDIデータ手入力送信

オペレータのデータを正しく入力したはずなのに楽器側では反映されないという時に、データの確認用として
1バイトづつ手入力するモードがあります。

送信するデータがDATAの次に表示されていますので、テンキーで入力して [MENU] で送信します。
チェックサムも送信時に自動計算されます。[<<] キーでチェックサムの値をDATAへ代入し、[>>] キーでチェックサムの値を
クリアします。ちょうどFFコードの40と41にあたる操作です。この画面ではFFコードは働きません。
[BACK] キーでパラメータ編集画面に戻ります。

B:MIDIトラフィックメータ

MIDI INから入力される信号の情報量を表示します。これは単位時間(200パケット分)あたりにどれだけのパケット量が流れるかを測定するものです。数値はパーセント表示、バーは1目盛りが2%区切りになっています。音源のモタりなどの目安に使ってください。
[BACK] キーでパラメータ編集画面に戻ります。

EEPROMセットアップメニューの解説
電源を投入する時に [MENU] キーを押しながらスイッチを入れると、タイトル画面が出た後にEEPROMセットアップメニューが出ます。
EEPROMセットアップではEEPROMや内部のレジスタをオーバーライドする作業が含まれているため、パラメータ編集とは分けてあります。
[<<] [>>] キーでメニューを選択し、[MENU] キーで各モードへ入れます。
モードの番号を覚えてしまった方は、番号を入れると簡単に次の画面へジャンプできます。
[BACK] キーで通常の電源を入れた状態に戻ります。各編集画面でも [BACK] キーで前の画面に戻ります。

0:EEPROMデータエクスポート
内蔵EEPROMの全ての内容をシステムエクスクルーシブとしてエクスポートします。容量は67,584バイトです。
データフォーマットは、エクスクルーシブF0の後にメーカーコード7Dh、機種コード00h、EEPROMアドレス0の下4ビット、上4ビットを下4ビットにシフトさせたもの、EEPROMアドレス1の下4ビット、上4ビットを下4ビットにシフトさせたもの、と64バイト分送信した後EOXのF7が送信されます。したがって1パケットが132バイトの512パケットで送信されます。

メニューを選択するとエクスポートを開始するか聞いてくるので [MENU] で開始、[BACK] でキャンセルです。
送信中は送信アドレスを1バイトごとに表示しています。送信中のウエイトをとる役目もしています。
データダンプは途中でキャンセルできないので、急ぐときは電源を切って下さい。

1:EEPROMデータインポート *これを実行するとメモリの内容が失われます。
EEPROMデータエクスポートをしたデータを元に戻すメニューです。
1パケットが132バイトのパケットを512個しか受信しないので、受信データに異常がある場合は正しく読み込まれず途中で止まってしまいます。リアルタイムメッセージは無視するようになっています。

メニューを選択すると読み込みを開始するか聞いてくるので [MENU] で開始、[BACK] でキャンセルです。
受信中は受信アドレスを64バイトごとに表示しています。受信中のパケット不良が出た場合ここで確認できます。また、内部処理の速度があるため、パケット間のウエイトは20ms程度取るようにしてください。
データインポートは途中でキャンセルできないので、急ぐときは電源を切って下さい。

2:EEPROMイニシャライズ *これを実行するとメモリの内容が失われます。
初めて電源を入れる時は...でも説明したEEPROMの初期化です。
EEPROM内をゼロクリアした後、オペレータ/キーデータにFF F0を、ボリューム読み込み範囲には1:00-7Fを、
アサインには標準アサインを書き込みます。
同時に、起動直後のバンクを0に、フリーランモード/バンク切り替え送信をOFFに設定します。
この動作を16バンク分繰り返します。バンクデータ消去はこれと同じ動作をしています。

メニューを選択すると初期化を開始するか聞いてくるので [MENU] で開始、[BACK] でキャンセルです。
初期化中はゼロクリアアドレスを2kバイトごとに表示しています。

3:EEPROM ICチェック *これを実行するとメモリの内容が失われます。
EEPROMの読み書きチェックをします。EEPROMの容量間違いは多分判別できません。通常は使いません。
EEPROMで一番痛みやすいアドレスはバンク番号保存用の0x0200です。バンク切り替え時やパラメータメニューを閉じた時、
電源を入れた時、MIDI INからバンクを切り替えた時にもこのアドレスへの書き込みが発生するので、このモードをつけてみました。
しかし、データシートによると100万回の書き換えは保証しているので、数十年使わないと壊れないと思います。
検査方法は0x00、0x55、0xAA、0xFFを書き込み、読み出した時に値が変わってないかを比較しています。

メニューを選択すると初期化を開始するか聞いてくるので [MENU] で開始、[BACK] でキャンセルです。
検査中は検査アドレスを64バイトごとに表示しています。また4種類の数値を書き込んでいるため、アドレスが4回ループします。
異常があった時はアドレスが止まりそのまま動かなくなるので、ICを他のに交換して電源を入れなおしてください。
検査が終わると、EEPROM内が検査用のデータで埋め尽くされているので2:EEPROMイニシャライズを実行してください。

Next → ユーティリティーソフトのダウンロード

Update 2007/10/6