25
X 6054-2 : 1999
8.2 機能の詳細 システム エクスクルーシブ メッセージの機能の詳細は,実装規約とする。標準とな
る実装規約は,2.2 関連規格の“MIDI 1.0規格 (AMEI)” 及び “MIDI l.0 Detailed Specification (MMA)” に
示されている。
9. 補足説明と運用上の注意
9.1 ランニングステータス ランニングステータスとは,ステータスバイトが直前のメッセージのそれ
と同じ値であるとき,そのステータスバイトを省略してデータバイトだけを送ることで,送信時間を短縮
し,実際の演奏からのMIDI送信データの遅れを軽減するためのものである。受信側は,ステータスバイ
トが省略されたデータバイトだけのメッセージを受信したときは,最後に受信したステータスバイトを補
う必要がある。
例えば,通常のノートオン メッセージは,ノートオン ステータスバイト (9nH),ノート番号,ベロシ
ティ値の3バイトになるが,ランニングステータスを用いれば,同じチャンネルのノートオンが続く場合
には2音目以降はステータスバイトを省略してノート番号とベロシティ値だけを送信することができる。
ランニングステータスは,特にノートオンとコンティニュアスコントローラとによるデータに有効であ
る。ノートオフをノートオンのステータスのもとでベロシティ値0で送ると更に効果がある。
[ランニングスーテタスの例]
この例ではノートオン メッセージを取り上げているが,他のチャンネルメッセージについても,同様に
してデータ量を減らすことができる。
認識しないチャンネルメッセージも,ステータスバイトを保存するランニング ステータス バッファに
は保存されなければならない。例えば,オムニオンであってもチャンネル モード メッセージはベーシッ
クチャンネル以外では認識しないが,その直後にコントロールチェンジがステータスなしで送られてくれ
ば,オムニオンのモードであるから認識するのが当然である。
――――― [JIS X 6054-2 pdf 26] ―――――
26
X 6054-2 : 1999
[ベーシックチャンネル3でOMNI ONの状熊のとき]
受信側では,送信側でランニング ステータスのルールを適用することを考慮に入れて,常に受信した最
後のステータスを保持していなければならない。また,そのステータスのもとではデータが何バイトで一
つのメッセージになるかをみている必要がある。そのために受信側にランニング ステータス バッファを
設けその処理を次のようにするのがよい。
1) 電源オン時にクリアする。
2) チャンネルメッセージのステータスを受信したとき,そのステータスを書き込む。
3) システムエクスクルーシブ,システムコモンのステータスを受信したとき,クリアする。
4) システムリセット (FFH) を除くシステム リアルタイム メッセージを受信したとき,何もしない。
5) ランニングステータス バッファがクリア状態のときは,データバイトを無視する。
システム コモン メッセージには,現在未定義のステータスが2個 (F4H, F5H) あるが,もしこれらを
受信したときには,ランニングステータス バッファをクリアするようにした方がよい。また,システム リ
アルタイム メッセージの中にも未定義が2個 (F9H, FDH) あるが,これらは無視し,ランニングステータ
ス バッファはクリアしない方がよい。
ランニングステータスを使用している場合,受信側が送信側の電源オンよりも後に接続されたときは次
のステータスバイトが受信されるまで発音しないことがあるため,送信側は数秒に1回はステータスバイ
トを送信することが望ましい。
送信側はランニングステータスを使っても使わなくてもよい。また,ノートオフは,ノートオンのステ
ータスでベロシティ0で送っても,ノートオフのステータスを使ってもよい。
受信側はチャンネルメッセージのステータスを省略して送信されてくることを十分考慮しなければなら
ない。次の図は,受信側に設けられたランニングステータス バッファに関するMIDI受信処理の一例を示
す。
――――― [JIS X 6054-2 pdf 27] ―――――
27
X 6054-2 : 1999
9.2 ノートオン/ノートオフの数 同一チャンネルで同じキーナンバーのオンを2回受信した場合,同
じボイスに割り当てるか別のボイスに割り当てるか,又は他の方法を取るかは,受信側の選択に任されて
いる。一方,送信側では,同一チャンネルで同じキーナンバーのオンを2回送った後には,それに対応す
るオフも2回送らなければならない。
参考 ここでは,ノートオンの数とノートオフの数とを一致させることを要求されている。
9.3 ポリモードでのアサイン ポリモードでは,複数のノートオンが送られてきて,それらを認識した
とき,どのようにボイスに割り当てて発音させるかは,特に規定されていない。受信側で処理可能なボイ
ス数以上のノートオンに対する処理はどのようにしてもよい。また,受信したノートオンと自己の鍵盤操
作などによるオンとの優先順位はどのようにしてもよい。
自己の鍵盤操作による発音と受信したノートオン/ノートオフのメッセージによる発音とを区別するこ
とは重要である。
――――― [JIS X 6054-2 pdf 28] ―――――
28
X 6054-2 : 1999
9.4 モード切替え時の処理 受信側でオムニオン/オムニオフ,モノ/ポリを切り替えるときには,オ
ール ノートオフを行って,その後の確実な動作を期する必要がある。ただし,そのときオフにするボイス
はMIDI INのメッセージによってオンとなったものだけとして,自己の鍵盤によるオンのボイスはそのま
まにする方がよい。
9.5 MIDIマージ時のオール ノートオフの扱い シーケンサがMIDI INで受信したメッセージと,自己
のシーケンスデータに基づいたメッセージとを混合して送信しているとき,又は,MIDIマージ装置が複
数のMIDI INからのデータを混合して送信しているときには,受信したオール ノートオフをそのまま送
ると不都合な場合があるので,注意しなければならない。
シーケンサがオール ノートオフを受信しても自己のシーケンスによってそのチャンネルのノートがオ
ンになっているときには,そのオール ノートオフを送信してはならない。また,自己のシーケンスデータ
の中にオール ノートオフがあっても,そのチャンネルでノートオンが受信されている間は,そのオール ノ
ートオフを送信してはならない。また,MIDIマージ装置には,オール ノートオフの送信を禁止できるよ
うなフィルター機能が必要である。
第2バイトが124以上のチャンネル モード メッセージもオール ノートオフの機能があるので同様の扱
いをしなければならない。
参考 5.5を併せて参照のこと。
9.6 ホールドとオール ノートオフとの関係 ホールド,ダンパーペダル,サステイン,セカンドリリー
ス スイッチなどと称するスイッチのコントロールチェンジを認識する受信側では,そのスイッチがオンに
なるメッセージを受信した後には,通常のノートオフを受けてもボイス発音はまだオン状態が継続してい
る。この状態のときに,チャンネルモード メッセージ番号123 (7BH) のオール ノートオフを受信してそ
れを認識しても,それは各ノートオフを補佐しているだけであるから,ホールドによってオン状態が継続
しているボイスをオフすべきではない。このとき受信側は,後にホールドがオフになったときに,直ちに
オフになる潜在能力を保持しておくことが望ましい。
同様に,エンベロープの都合でリリースタイムが長いときに,オール ノートオフを認識することによっ
て,急激に音を消すような処理をすべきではない。
受信したメッセージ
9.7 ホールド ペダルについての補足 ホールド,ダンパーペダル,サステイン,セカンドリリース ス
イッチなどと称するスイッチは,コントロール番号64を使用する。ホールドペダルの正しい動作は,エン
ベロープのサステインレベルを維持することである。“ホールド2 (Hold 2)”スイッチが,コントロール番
号69として定義されている。これは,他のホールド機能(例えば,“フリーズ”つまり,エンベロープな
どがそのときの状態で凍結される。)のため,又は,二つの異なったホールド機能を同時に実現するためな
どに用いられる。
コントロール番号66の“ソステヌート(コードホールド)”は,ペダルを踏んだときに弾かれていた音
だけをホールドするものである。
――――― [JIS X 6054-2 pdf 29] ―――――
29
X 6054-2 : 1999
9.8 MIDI受信の優先 MIDIでは,送信側は受信側の事情を無視して,一方的に一定の転送レート
(31.25kbit/s) でデータを送ってくる。受信側はこれを欠落のないように受信し,処理しなければならない。
通信以外の処理との優先関係に留意し,MIDIデータが無視されたり誤って処理されたりすることがない
ようにすることが重要である。処理しきれないで捨てられるデータが発生すると,それによって誤動作す
ることになるが,そのような場合でも,常に安全な側に処理されるように配慮することが望ましい。
9.9 受信したメッセージの機能がない場合 例えばピッチベンダーの機能がないシンセサイザーのよう
に,受信側で処理できないメッセージを受信した場合には,それを無視することは許されている。しかし,
それを受信することによって予期しない間違った動作をしないように留意しなければならない。すなわち,
無視するメッセージに対しても,正しいバイト数のステータスやデータを読んだり,ランニング ステータ
スの処理をしたりする必要がある。
9.10 オムニの解除 自己のパネル操作,その他受信側で操作できる適切な方法によって,受信モードを
オムニオフにできることが望ましい。
9.11 コントロール番号 コントロール番号のアサインはAMEIとMMAとの合意の上で決定される。附
属書3に挙げた番号は,標準的な楽器のために定義されている。しかし,MIDI対応の照明コントローラ
のような多くの非楽器は,定義されたコントロール番号を,それらの機器の都合のよいように使ってもよ
い。コントロール番号の数には限りがあるので,現在及び将来において考えられる限りの,楽器及び非楽
器のすべての機能について番号をアサインすることは不可能である。そのために,通常,コントロール番
号は楽器に関連した目的にだけアサインされている。その製品が標準的なコントローラ アサインに従って
いないときは,処理系作成者の責任でその旨をユーザに公表しなければならない。コントローラを非楽器
に応用することは差し支えないが,やはり,附属書2に示されているフォーマットには従わなければなら
ない。
機器に依存する多数のパラメータをMIDIでコントロールしたい場合は,コントローラを多数使う代わ
りに,ノンレジスタードパラメータ番号とデータエントリ コントローラ(データエントリ,データインク
リメント及びデータデクリメントのメッセージ)を使うべきである。これによって,異なった機器が,同
じコントロール番号に応答してしまうという事態が起きる可能性を軽減できる。
9.12 シーケンサのベーシックチャンネル MIDIのモードは,主として受信側がボイスメッセージを処理
して発音させることを主眼にして定められている。MIDIのシーケンサは,MIDIのボイスメッセージの時
間経過を記録するための装置で,受信されたMIDIメッセージを相対的に同じ時間間隔で,別の時刻に再
生するものであると考えられる。“別の時刻に”という点を除けば,転送のための結線と同じで,それ自体
ボイスメッセージによって仕事をしないと考えれば,そのシーケンサ自体は,必ずしもチャンネルモード
を認識して,自らそのモードになる必要はない。したがって通常の機器のようにベーシックチャンネルが
なくてもよいと考えられる。
もちろん,ベーシックチャンネルをもち,モードメッセージを認識し,そのモードによって認識できる
チャンネル番号などを変化させてもかまわない。
9.13 ノート番号,トランスポーズ ノートオン/ノートオフ メッセージのノート番号は,原則的に中央
Cが60と定められている。この“中央C”とは,ピアノの中央部Cの鍵であり,楽譜上は,高音部の下第
一線のCを意味する。したがって,鍵盤の範囲によってはちょうど中央にはならないこともある。
簡易な演奏を得る目的でクロマチックのキートランスポーズを行う場合は,中央C以外のキーで60を
得ることになってもよい。この場合トランスポーズをしないときとの区別がパネル上ではっきりしている
方が使用しやすいであろう。
――――― [JIS X 6054-2 pdf 30] ―――――
次のページ PDF 31
JIS X 6054-2:1999の国際規格 ICS 分類一覧
- 97 : 家庭用及び商業用設備.娯楽.スポーツ > 97.200 : 娯楽用設備 > 97.200.20 : 楽器
- 35 : 情報技術.事務機械 > 35.240 : 情報技術(IT)の応用 > 35.240.99 : その他の分野へのITの応用
JIS X 6054-2:1999の関連規格と引用規格一覧
- 規格番号
- 規格名称
- JISX6054-1:1999
- 電子楽器ディジタルインタフェース(MIDI)―第1部:総則