[DTM] MIDIの基本

この記事は3年以上前に書かれた記事です。情報が古い可能性があります。

MIDIで曲をつくる上での基礎知識。個人的な備忘。

曲データをつくる上での基本

  • GM/GS/XG などのシステムリセットは、必ず曲の先頭に入れる。
  • Step Time、Tick Time、Gate Time の各値の意味をおさえる。
    • Step Time(ステップタイム)は、いわゆる音符の長さ。480 で 4分音符。
      • 4/4拍子なら、1小節の Step Time の合計は 480 x 4 = 1920。
    • Tick Time(チックタイム)は、その小節内の発音開始自刻(音符の位置)。
      • 次の小節に行くと 0 開始になる。
    • Gate Time(ゲートタイム)は、楽器のホールド時間。ピアノなら鍵盤を押してる時間。
      • Gate Time は必ずしもその音の Step Time に一致しない。
      • 例えば、4分音符(Step Time は 480)の Gate Time を 120 などにすると スターカットのような効果を得る。
  • Tempo(テンポ)は曲の進行の速さ。どれかひとつの Track の先頭に設定する。
    • Tempo 管理用の無音 Track をひとつ用意しておくと良い。
  • Track(トラック)と Channel(チャンネル)は別物。
    • Track は打ち込みの際の便宜的な入れ物。
    • Channel は実際に音を出す楽器に相当するもの。
    • 例えば 2つの Track が 1つの Channel を使っていたりすることもある。
  • 10 Ch (Channel)はリズムパート。ドラム、パーカッション専用チャンネル。
    • GS や XG は 10 Ch 以外にもリズムパートを割り当てられる。

プログラムチェンジ

音色番号(バンク)の設定、変更。要は、その Channel の楽器を変えること。複数 Track で1つの Channel を使っている場合は、他所の Track に影響する。

初心者が誤解しがち(というか、私が初学者の頃に誤解してたこと)なのが Channel は Track ごとに割り当てられていると考えて、ある Track の音色(楽器)だけ切り替えるつもりで Channel の音色を曲の途中で変更したら、他の Track の音色も変わってしまいカオスになるというやつ。

Channel はデータ全体で共有するので、途中でプログラムチェンジする可能性のある Channel は他の Track で使用しないようにする方が良い。そうでない場合は、どの Channel をどの Track が使用しているかを意識しながらデータ作成する必要がある。

コントロールチェンジ

音色以外の様々なパラメータの変更。ボリューム、パン、ベロシティなどを数値で指定する。

  • パラメータの最低値は 0。最大値は 127。(幅128)
  • 上下左右がある場合は -64~63 で 0 が中央値になる。
Volume(ボリューム)

音量(そのまんま)。

大抵は、最初に設定した値をいじらない。Track ごとのボリューム制御は後述の Expression で行われることが多い。

Expression(エクスプレッション)

音量。

曲進行中に音量の上下をする場合は Volume ではなく、大抵こちらを設定する。

Velocity(ベロシティ)

強弱。

ピアノなら、強く弾いたり弱く弾いたりみたいな表現。

Modulation(モデュレーション)

音の揺れ具合。

Vibrato(ビブラート)ともいう。DAWやシーケンサによっては Vibrato と表現していることもある。MIDIで Vibrato をかける際は、この値をいじる。

Panpot(パンポット)

音の位置。

左が -64。右が 63。中央が 0。普通は 0 に初期化しておく。

Reverb(リバーブ)

音の響き具合。

いわゆる残響効果。最近はこれは MIDI でなく、オーディオ編集でやることが多いかも。

Del/Var(ディレイ) 

エコーの効き具合。

いわゆる反響効果。同じ音をちょっと遅れて反復減衰させていく。やまびこ。

Chorus(コーラス) 

同じ音を重ねたような効果。

同じ楽器を複数で演奏するような状況の再現。これを上げると音が重厚になる。

ピッチベンドチェンジ

Pitch Bend(ピッチベンド)は、音程を滑らかに変化させる効果。

この値は -8192 から 8192 までとる。Pitch Bend がどれだけ変化するかは Pitch Bend Sensitivity(ピッチベンドセンシティビティ)の値による。

システムエクスクルーシブ

0xF0から始まり、0xF7で終わるMIDIメッセージ。機器ごとに固有の効果があり、GMで規定されていない効果を機器側が拡張的に再現できるものだが、このデータを含む曲データは再生機器(音源)を選ぶことになる。

SOMVendorIDDeviceIDModelIDCommandIDAddressDataCSEOM
GS ->0xF00x410x100x420x120xF7
XG ->0xF00x430x100x4C0x020xF7
  • SOM
    メッセージの開始。0xF0固定。
  • VendorID
    ベンダーを識別するID。以下の通り。
    • Kawai : 0x40
    • Roland : 0x41
    • KORG : 0x42
    • YAMAHA : 0x43
    • CASIO : 0x44
  • DeviceID
    音源のID。複数の音源を使用する場合に使用するが、普通は1つなので0x10固定で。
  • ModelID
    GSなら0x42。XGなら0x4C。
  • CommandID
    GSなら0x12。XGなら0x02。
  • Address
    使用する機能を指示する(後述)
  • Data
    アドレスで指定された機能の値を指示する。
  • CS
    チェックサム。XGには一部のメッセージを除いて不要。
  • EOM
    メッセージの終了。0xF7固定。

システムエクスクルーシブのメッセージでは、上記の Address で拡張機能を指定する。よく使用されるのは以下のものがある。

FunctionMessage
Reverb0x40 0x01 0x30
Chorus0x40 0x01 0x38
Moduration Pitch Depth0x40 0x21 0x04
Moduration TVF Depth0x40 0x21 0x05
Moduration TVA Depth0x40 0x21 0x06
チェックサムの計算

Address部とData部の値をすべて加算した値がチェックサム対象となる。

CS値 = 128 - {( Addressの値 + Data部の値 ) % 128}

つまり、Address部とData部を加算した値を128で割ってその余りを128から引いた値。

例えば、次のリバーブを設定するメッセージのCSを計算してみる。

0xF0 0x41 0x10 0x42 0x12 0x40 0x01 0x30 0x02 CS 0xF7

Address部は 0x40 0x01 0x30
Data部は 0x02

なので 0x40 + 0x01 + 0x30 + 0x02 = 64 + 1 + 48 + 2 = 115 が値の総和。
これを128で割った余りは 115。( 115÷128 = 0 … 115 ) なので、CSは 128 – 115 = 13。16進数にして 0x0D

ということで、上記メッセージは次の通りになる。

0xF0 0x41 0x10 0x42 0x12 0x40 0x01 0x30 0x02 0x0D 0xF7
GSドラムセット

GS音源では10ch以外にドラムセットを2つ割り当てることができる。ドラムを割り当てるには最初にどのチャンネルをドラムにするかエクスクルーシブメッセージで設定しておく。(ここ参考

以下は、GS固有のドラムセットについて。XGやその他規格の音源には必ずしも適用されない。

NOSETNAMEDISCRIPTIONTG
10x00STANDARD 1標準的なドラムセット
20x01STANDARD 2STANDARDセットのバリエーション88以上
30x02STANDARD 3ランダムにタイミングがずれるSTANDARDセット88Pro以上
90x08ROOMライブハウス向けドラムセット
100x09HIP HOPヒップホップ向けドラムセット88Pro以上
110x0AJUNGLE土人のドラムセット88Pro以上
120x0ATECHNOテクノ音楽向けドラムセット88Pro以上
170x10POWERハードロックハウス向けドラムセット
250x18ELECTRONICシモンズの電子ドラムセット
260x19TR-808Roland ドラムマシン TR-808 のセット
270x1ADANCEダンスミュージック向けセット88以上
280x1BCR-78Roland ドラムマシン CR-78 のセット88Pro以上
290x1CTR-606Roland ドラムマシン TR-606 のセット88Pro以上
300x1DTR-707Roland ドラムマシン TR-707 のセット88Pro以上
310x1ETR-909Roland ドラムマシン TR-909 のセット88Pro以上
330x20JAZZ 1ジャズ向けスティック使用のドラムセット
410x28BRUSHジャズ向けブラシ使用のドラムセット
490x30ORCHESTRAオーケストラの打楽器セット
500x31ETHNIC民俗音楽で使われる打楽器のセット88以上
510x32KICK & SNAREキックドラムとスネアドラムのバリエーション88以上
530x34ASIAアジアの民俗音楽で使われる打楽器のセット88Pro以上
540x32CYMBAL & CLAPSシンバル、ハイハットのバリエーション88Pro以上
570x38SFX効果音のセット
580x39RHYTHM FX打楽器的に使える効果音のセット88以上
590x3ARHYTHM FX 2打楽器的に使える効果音のセット その288Pro以上
1280x7FCM-64/32LRoland CM-64/32L データ互換用のセット

参考サイト

タイトルとURLをコピーしました