Control Change Message

MIDIの各チャンネルを制御する為のメッセージです。



Bank Select (cc:0,32)

Program(Sound, Voice Tone, Preset, Patch)のバンクを選択するメッセージです。
このメッセージの送信後、プログラム・チェンジ・メッセージを送信する事で、 選択したバンクのプログラムの音色を鳴らすことが出来ます。
バンクセレクトでは音色は変わらず、その後にプログラム・チェンジ・メッセージが必要です。

General MIDI Level.2(GM2)では、 バンク$78/$00が指定されその後にプログラム・チェンジする事でリズム・チャンネルになります。
又、バンク$79/xxが指定されその後にプログラム・チェンジする事でメロディー・チャンネルになります。

サクラの@命令及びvoice()命令は、バンクセレクトを指定してからプログラム・チェンジを指定する仕様になっています。
従って、ユーザーが特に意識する必要はありません。

命令一覧 (Sakura標準命令)



Modlation (cc:1)

ビブラート(音程LFO)の深さを変化させます。
最大値を指定したときのビブラートの深さは、Registered Paramete No.5のModlation Depthで指定します。
指定値と深さはcent単位で比例します。

命令一覧 (Sakura標準命令)



Breath Controller (cc:2)

息を吹き込む強さを送出する為のコントロールで、MIDIリコーダーや、MIDIサックス等に使われます。
この操作による効果は、MIDI規格では標準化されていません。
このコントローラーに対応している楽器の多くの場合は、音の明るさ及び音量が変化します。


Foot Controller (cc:4)

ペダルの押し込み量を送出する為のコントロールで、MIDIキーボード等に使われます。
この操作による効果は、MIDI規格では標準化されていません。
このコントローラーに対応している楽器の多くの場合は、音の明るさが変化します。


Channel Volume (cc:7)

チャンネルの音量を変化させるメッセージで、各チャンネル間との音量バランスを設定する目的として使われます。
音量の式は、以下のとおりです。

gain [dB] = 40 × log( Volume ÷ 127 )

命令一覧 (Sakura標準命令)



Balance (cc:8)

2つの異なるプログラム(音色、プリセット、パッチ等)を鍵盤上にアサインして演奏する場合等に、そのバランスを設定します。
値が0のとき左(ロワー)の音量が最大になり、64で等バランス、127で右(アッパー)の音量が最大となります。


Panpot (cc:10)

チャンネルのステレオの音場位置を設定します。
リズムチャンネルの場合は、相対的に変化します。
リズムチャンネルの各パーカッションの音場を設定する為には、
Universal Real Time Exclusive MessageKey-Based Instrument Controllers(Sub ID#1=$0A)を使用します。

General MIDI Level.2(GM2)で推奨される、左右の音量の計算式は以下の通りです。
Gain(Left) [dB] = 20 × log( cos( π ÷ 2 × max( 0, Panpot − 1 ) ÷ 126 ) )
Gain(Right) [dB] = 20 × log( sin( π ÷ 2 × max( 0, Panpot − 1 ) ÷ 126 ) )

命令一覧 (Sakura標準命令)



Expression (cc:11)

チャンネルの音量を変化させるメッセージで、 クレッシェンド、デクレッシェンド等の音楽表現を行う為に使用されます。
音量の式は、以下のとおりです。

gain [dB] = 40 × log( Expression ÷ 127 )

命令一覧 (Sakura標準命令)



General Purpose Control 1〜8 (cc:16〜19,80〜83)

このパラメータの動作は、MIDI規格では標準化されておらず、楽器固有のパラメータを操作する為に用いられます。
これは、楽器固有のパラメータをSystem Exclusive Messageにて送信した場合に、通信量が大きくなるデメリットがあり、 この汎用操作子で簡単にコントロールできるようにしたものです。

General MIDI Level.2(GM2)では、Universal Real Time Exclusive MessageController Destination Setting(Sub ID#1=$09)にて、 特定のコントロールNo.に機能を設定する事が可能で、通常はこのコントロールに割り当てて利用します。

汎用操作子 CC No.
General Purpose Control 1 16
General Purpose Control 2 17
General Purpose Control 3 18
General Purpose Control 4 19
General Purpose Control 5 80
General Purpose Control 6 81
General Purpose Control 7 82
General Purpose Control 8 83


Portamento Time (cc:5)

ポルタメント時のピッチの変化の早さを指定します。

General MIDI Level.2(GM2)では、モノ・モード(モード4)の時に使用する事ができます。
また、ポリ・モード(モード3)の時でも、使用できる楽器もあります。
General MIDI Level.2(GM2)では、指定値によるピッチの変化のレートは、以下の表の通りとする事が推奨されています。
縦軸は変化のスピード(単位[cent/msec])で、横軸は指定値です。

命令一覧 (Sakura標準命令)



Portamento on/off (cc:65)

指定値は、0〜63がOff,64〜127がOnとなります。
このメッセージは、ポルタメントのOn/Offを指定します。
ポルタメントがOnの状態では、全てのノート・オンされた音について、 ポルタメントコントローラーにて指定されたノートNo.の音程から ノートオンした音程まで、ポルタメントタイムで指定した速度でポルタメントします。

命令一覧 (Sakura標準命令)



Portamento Control (cc:84)

どの音程からポルタメントするか、ノートナンバーで指定します。
このコントロールをMIDIデバイスに送出した場合、次にノートオンする音はポルタメントon/offの状態に関わらずポルタメントします。
又、ポルタメントコントロールにて指定したノートナンバーと同一の音が既に発音されていた場合は、次にノートオンされる音は現在鳴っている音がノートオンされたノートナンバーの音程へポルタメントします。


Hold (Dumper pedal, Sustain) (cc:64)

ハーフペダルを導入しない場合は、0〜63がOff,64〜127がOnとします。
このメッセージは、ダンパーペダル(若しくは、サスティンペダル)のOn/Offをします。
General MIDI Level.2(GM2)のピアノ系の音色では、リダンパーに対応しています。

命令一覧 (Sakura標準命令)



Sostenuto (cc:66)

指定値は、0〜63がOff,64〜127がOnとなります。
ダンパーペダルの効果と似ているが、このメッセージは、 Onになったときにノートオンされていた音のみを保持します。

命令一覧



Soft (cc:67)

指定値は、0〜63がOff,64〜127がOnとなります。
このメッセージは、発音する音を柔らかくする為に用います。
具体的には、音量を小さくし、カットオフ周波数を下げる等の操作がMIDI内部で行われます。
General MIDI Level.2(GM2)では、ピアノ系の音色のみの対応が義務つけられています。

命令一覧



Sound Controller 2 (Timbre / Harmonic Intensity) (cc:71)

ローパスフィルタのレゾナンスの強さを指定します。
64を標準とし、値が小さい程効果が弱くなり、大きいほど効果が大きくなります。

命令一覧



Sound Controller 3 (Release time) (cc:72)

エンベロープのリリースタイムを指定します。 64を標準とし、値が小さい程効果が短くなり、大きいほど効果が長くなります。

命令一覧



Sound Controller 4 (Attack time) (cc:73)

エンベロープのアタックタイムを指定します。 64を標準とし、値が小さい程効果が短くなり、大きいほど効果が長くなります。

命令一覧



Sound Controller 5 (Brightness) (cc:74)

ローパスフィルタのカットオフ周波数を指定します。
64を標準とし、値が小さい程周波数が低くなり、大きいほど周波数が高くなります。

命令一覧



Sound Controller 6 (Decay Time) (cc:75)

エンベロープのディケイタイムを指定します。
64を標準とし、値が小さい程効果が短くなり、大きいほど効果が長くなります。

命令一覧



Sound Controller 7 (Vibrato Rate) (cc:76)

ビブラートの周期を指定します。
64を標準とし、値が小さい程周期が長くなり、大きいほど周期が短くなります。

命令一覧



Sound Controller 8 (Vibrato Depth) (cc:77)

ビブラートの深さを指定します。
64を標準とし、値が小さい程効果が弱くなり、大きいほど効果が大きくなります。

命令一覧



Sound Controller 9 (Vibrato Decay) (cc:78)

ビブラートのディケイタイムを指定します。
64を標準とし、値が小さい程効果が短くなり、大きいほど効果が長くなります。

命令一覧



Effect Depth 1 (Reverb) (cc:91)

リバーブへのセンド・レベルを設定します。
指定値とセンド・レベルは比例関係です。

細かいを設定する為には、Universal Real Time Exclusive MessageDevice Control(Sub ID#1=$04)を使用します。

命令一覧 (Sakura標準命令)



Effect Depth 3 (Chorus) (cc:93)

指定値とセンド・レベルは比例関係で、127の時に100%となります。

細かいを設定する為には、Universal Real Time Exclusive MessageDevice Control(Sub ID#1=$04)を使用します。

命令一覧 (Sakura標準命令)



Effect Depth 4 (Celeste) (cc:94)

指定値とセンド・レベルは比例関係です。
Celeste(セレステ)は、3相のLFOにより音にうねりと広がりを与える、より重厚なコーラスです。

Roland GS規格

Delay(ディレイ)と呼ばれるエフェクトが割当てられています。
これは、音を遅延させて原音に加える処理で、エコーみたいな残響音が得られます。

YAMAHA XG規格

Variation(バリエーション)と呼ばれるエフェクトが割当てられています。
XG規格専用の命令により、様々な機能を割り当てる事ができます。

命令一覧 (Sakura標準命令)



Non Registered Parameter (cc:6,98〜99)

各MIDIデバイス個別に規定されている各パラメータの設定を行います。
このパラメータは、各メーカが独自に設計する為、各MIDIデバイスで互換性が無い場合があります。
パラメータを設定する方法は、 Non Registered Parameter LSB(cc98)及び、Non Registered Parameter MSB(cc99)を指定し、 Data Entry MSB(cc6)及び、Data Entry LSB(cc38)を送信する事で可能です。
又、Data Increment(cc96)及びData Decrement(cc97)にて、MSB単位で値のインクリメント(+1)及びデクリメント(-1)する事が可能です。 この2つのコントロールは、第2Byteは意味を持ちません。

命令一覧 (Sakura標準命令)



Registered Parameter (cc:6,100〜101)

MIDI規格によって標準化されている、全てのMIDIデバイスに共通する各パラメータの設定を行います。
パラメータを設定する方法は、 Registered Parameter LSB(cc100)及び、Registered Parameter MSB(cc101)を指定し、 Data Entry MSB(cc6)及び、Data Entry LSB(cc38)を送信する事で可能です。
又、Data Increment(cc96)及びData Decrement(cc97)にて、MSB単位で値のインクリメント(+1)及びデクリメント(-1)する事が可能です。 この2つのコントロールは、第2Byteは意味を持ちません。

命令一覧 (Sakura標準命令)

  • RPN(INT No_MSB, INT No_LSB, INT Data_MSB)
  • DataMSB(INT Data_MSB)
  • DataLSB(INT Data_LSB)
  • Y(INT Data_MSB)
現在、MIDI規格にて標準化されているパラメータは以下のとおりです。
Registered Parameter
Parameter MSBLSBGM1GM2CommandDefine
Pitch Bend Sensitivity 0 0 PitchBendSensitivity
BR
stdmsg.h
Fine Tuning 0 1 × FineTune stdmsg.h
Corse Tuing 0 2 × CoarseTune stdmsg.h
Tuning Preset 0 3 × × No DefinedNo Defined
Tuning Bank 0 4 × × No DefinedNo Defined
Modlation Depth 0 5 × No DefinedNo Defined
Null 127127 No DefinedNo Defined



$00/ $00:Pitch Bend Sensitivity

Pitch Bend Change Messageでの感度の量を指定します。
Data EntryのMSBが半音単位、LSBがcent単位となります。
General MIDI Level.1及び2(GM1,GM2)では、±12以上の対応が義務つけられています。

  • 命令一覧 ("stdmsg.h"にて定義されています。)
    • PitchBendSensitivity(INT Range_MSB)
    • BR(INT Range_MSB)

    $00/ $01:Fine Tuning

    チャンネルのチューニングを、細かいレベルで設定します。
    MSB=$40, LSB=$00で中央となり、100/8192[cent]単位で調整可能です。

  • 命令一覧 ("stdmsg.h"にて定義されています。)
    • FineTune(INT Tune_MSB)

    $00/ $02:Corse Tuing

    チャンネルのチューニングを、粗いレベルで設定します。
    LSBは無効で、MSB=$40で中央となります。半音単位で調整可能です。
    General MIDI Level.2(GM2)では、±12以上の対応が義務つけられています。
    キーシフトとしても利用可能です。

  • 命令一覧 ("stdmsg.h"にて定義されています。)
    • CoarseTune(INT Tune_HSB)

    $00/ $03:Tuning Preset No.
    $00/ $04:Tuning Bank No.

    チューニング・プログラムのPreset No及びBank No.を指定します。
    チューニング・プログラムについての詳細は、 MIDI Tuning Standardを参照して下さい。

    $00/ $05:Modlation Depth

    Modlation(Control Change No.1)で最大値が指定されたときビブラートの深さを設定します。
    Data EntryのMSBが半音単位、LSBがcent単位となります。
    General MIDI Level.1及び2(GM1,GM2)では、±12以上の対応が義務つけられています。

    $7F/ $7F:Null

    Data Entryで指定された値は無視されます。