マニュアル

Last-modified: 2015-12-31 (木) 00:17:11

MIDI Sequencer Cherry Version 1.4.3 取扱説明書

Last updated 2015-12-31 (木) 00:17:11

目次

導入編

はじめに

MIDI Sequencer Cherry はふみぃさんが製作されたMIDIシーケンサです。この文書は Version 1.4.3 を対象としています。

主な特徴

  • ピアノロール、ステップタイムの両方から入力できる
  • 仮想コントロールチェンジ機能により、エクスクルーシブなどをコントロールチェンジと同じように簡単に扱うことが出来、更に柔軟な追加、変更が出来る。
  • 軽い動作。
  • 演奏しながら編集できるループ演奏。

必要条件

Windows 2000/XP/Vista が安定して動作する環境。

ダウンロード

インストール

配布アーカイブに添付されているファイルを同じフォルダに置いてください。

またオプションの音色定義ファイルは、Cherry.exeと同じフォルダにインストールすれば使えます。プラグインも同様です。

アンインストール

インストールしたフォルダを削除してください。設定はレジストリに記録しているのでレジストリエディタを使って、HKEY_CURRENT_USER\Software\TK\MIDI Sequencer Cherryの中にある値を全て削除してください。なお、レジストリを編集する際は細心の注意を払ってください。

用語説明

ここでは Cherry 独自の用語について説明します。

マーク機能
たいていの曲はいくつかのブロックに分ける事が出来ます。Cherryはそのブロックごとに名前を付ける事ができ、途中再生や、編集中のジャンプを簡単にする事が出来ます。
コンダクタトラック
指揮者に相当するトラックです。このトラックでテンポを設定します。
CHYファイル
Cherry独自のファイルフォーマット形式。拡張子は「CHY」です。SMFではMIDIメッセージ以外の情報を格納する事が出来ないため、独自の形式を使用しています。市販されているシーケンサも、大抵独自のフォーマットを使っています。CHYファイルの詳しいフォーマットについては、資料をご覧ください。
トラックマネージャ
トラックを管理する部分です。
定義ファイル
各音源用の設定ファイルです。定義ファイルを使用することにより、YAMAHA MU系音源のパートEQ機能など、各音源特有の機能を使用することができるようになります。通常、音色定義ファイル(拡張子「*.ins」)、VCC 設定ファイル(拡張子「*.vcc」)、モジュール定義ファイル(拡張子「*.mtb」)、の三つが一まとめになっています。
どの定義ファイルを使用するかは、環境設定>Moduleで設定します。インストール時には「GM音源」用、「Korg NS5R」用、「Korg X5D」用、「YAMAHA XG音源(MU128)」用、「Roland GS音源(SC-8850)」用、が用意されています。
VCC機能を組み合わせることにより、柔軟な機能の追加、変更をすることができます。
VCC機能
仮想コントロールチェンジ機能。通常MIDIのコントロールチェンジは127番までしかありませんが、これを255番まで拡張することにより、各番号に音源リセットやNRPNなどを割り当てることができるようにする機能です。書式、具体的な記述方法などは、付属のgeneral.vccの冒頭部分に記載されています。

基本編

メインウィンドウ

ツールバー

各ボタンの上でマウスを乗せると操作についての簡単な説明が表示されます。

  1. 「開く」ボタンです。
  2. 「上書き保存」ボタンです。
  3. 「元に戻す」ボタンです。
  4. 「切り取り」ボタンです。
  5. 「コピー」ボタンです。
  6. 「貼り付け」のボタンです。
  7. 「1オクターブ上げる」ボタンです。
  8. 「1オクターブ下げる」ボタンです。
  9. 「クォンタイズ」のボタンです。
  10. 「現在の演奏位置」ボタンです。
  11. 「演奏テンポ」の表示です。ボタンです。
  12. 「ループ演奏」ボタンです。
  13. 「巻き戻し」ボタンです。
  14. 「1小節前へ」ボタンです。
  15. 「現在の小節頭へ」ボタンです。
  16. 「演奏開始/停止」ボタンです。
  17. 「1小節後へ」のボタンです。

メニューバー

ファイル

曲データの新規作成やトラックをの追加、Cherry の終了を行います。下部には最近開いたファイルが10個まで表示されます。

新規作成
曲データを新規作成します。
開く
曲データを読み込みます。
上書き保存
保存済みのデータを上書き保存します。
名前を付けて保存
新たに名前を付けてデータを保存します。
トラック追加読み込み
現在開いているファイルに読み込んだ内容を追加します
標準MIDIファイル出力
標準MIDIファイル(*.MID)で出力、保存することが出来ます。フォーマットは「Standard Midi File Format 1」となります。
終了
アプリケーションを終了します。

編集

編集メニューです。カットアンドペースト、クォンタイズ、一括変更、ファイル情報、拍子、調性、マークの設定などを行います。

元に戻す
現在までに入力した情報をメモリが許す限り戻します。
切り取り
指定した範囲のイベントを切り取ります
コピー
指定した範囲のイベントをコピーします
貼り付け
指定した位置に切り取りまたはコピーしたイベントを貼り付けます。
挿入貼り付け
指定した位置に切り取りまたはコピーしたイベントを挿入貼り付けします。
削除(Delete)
指定した範囲のイベントを削除します
削除(Erase)
指定した範囲を削除し、指定した範囲分後ろのイベントを詰めるように削除します。
一括変更
指定した範囲の「ベロシティ」「ステップ」「ゲート」「ノートナンバー」の各値が一括変更できます。
トランスポーズ
指定した範囲の音を上下完全8度まで移調することが出来ます。
クォンタイズ
指定した範囲の「ゲート」「ステップ」値を、Resolusionで指定したものにそろえます。
1 Octove増
指定した範囲のノートを 1 オクターブ上げます。
1 Octove減
指定した範囲のノートを 1 オクターブ下げます。
ファイル情報設定
曲名などの情報を設定します。
拍子/調性/マーク
各マーク情報を編集出来ます。
すべて選択
現在のトラックのイベントをすべて選択します。

ファイル情報設定

曲名
作成した曲の曲名を入力します。
著作権
著作権表示を入力します。
分解能
分解能(TPQN)を設定します。デフォルトは480です。
WRDトラック
WRDを入力したパートを指定します。

拍子/調性/マーク

Add
マーカーを追加します。Time/Key Signature ウィンドウが開きます。
Delete
選択したマーカーを削除します。
Edit
選択したマーカーを編集します。Time/Key Signature ウィンドウが開きます。

Time/Key Signature

Measure
マーカーを入れる小節を入力します
Time Signature
拍子を入力します。上のリストボックスが分子で、下が分母です。
Key
マーカーを入れた小節後の調性を設定します。ここの設定に基づいて演奏モニタのコード色分け機能が動作します。

ノート挿入(C-B)時、このキー設定に基づいて自動的に#/bが付きます。
Comment (Marker)
マーカー名を入力します。

挿入

イベントなどを挿入します。イベントリストの現在カーソル位置に挿入します。

ノート
ノートを挿入します。音程は中央C固定です。
プログラムチェンジ
プログラムチェンジを挿入します。
エクスクルーシブ
エクスクルーシブを挿入します。初期値は「0xF0 0x43 0x10 0x4C 0xF7」です。
歌詞
歌詞を挿入します。
コメント
コメントを挿入します。
プラグインデータ
プラグインを使用するときに使います。
ドラムパラメータテンプレート
ドラム楽器を指定し、フィルタなどを細かく変更するためのテンプレートです。VCC機能の200番から215番までが順番にすべて挿入されます。
Filter,Vib,EGテンプレート
プログラムチェンジと、VCCを含むコントロールナンバー「7,10,91,93,94,73,144,72,74,71,143,140,141,142」が順番に挿入されます。
パートEQテンプレート
EQテンプレートを挿入します。VCC機能のコントロールナンバー175番から178番を利用します。

表示

ウィンドウの表示を追加します。MDIインターフェースなので、メモリの許す限り表示できます。

トラックマネージャ
トラックマネージャを追加します。
トラック
トラックウィンドウを追加します。
演奏モニタ
演奏モニタを追加します。
トラックリスト
トラックリストを追加します。

ウィンドウ

MDI子ウィンドウの制御をします。下部には現在開いている子ウィンドウのリストが表示されます。

横に並べて表示
重ならないよう横に並べて表示します。
縦に並べて表示
重ならないよう縦に並べて表示します。
重ねて表示
同じ大きさのウィンドウを重ねて表示します。起動時はこの状態で、トラックとトラックリストが表示されています。

設定

環境設定、諸設定を行います。

環境設定
MIDIポートの設定などを行います。
設定ファイル等再読み込み
通常は使用しませんが、起動中VCCファイルなど設定ファイルを更新した場合に使用します。トラックなどを切り替えるまで反映されません。
MIDIポート再初期化
MIDIポートを起動しなおします。
MIDIポート解放
MIDIポートを開放します。

環境設定

MIDI OUT
音源への出力に関する設定を行います
Port A,B,C,D
音源をポートに割り当てます。例のように複数の音源を割り当てることも出来ます。
Module
トラックなどを新規作成をした際の、定義ファイルを指定します。通常、使用している音源名にもっとも近いものを選択してください。
MIDI IN
音源からの入力に関する設定を行います。
Port
音源をポートに割り当てます。
Channel
MIDIメッセージを受信するチャンネルを指定します。
Echo back
受信したMIDIメッセージを音源に返すかどうかを指定します。

ヘルプ

ヘルプとバージョン情報を表示します。

ヘルプ
ヘルプを表示します。現在は表示できません。
バージョン情報
バージョンナンバー、リリース日、作者の連絡先が表示されます。

子ウィンドウ

ツールバー

トラックボタン

  1. 現在のトラックです。クリックするとほかのトラックが選択できます。
  2. クォンタイズ幅を指定します。
  3. 現在のマーカーのリストです。ここから位置を指定することも出来ます。
  4. 1小節目にジャンプします。現在再生中の場合は1小節目に戻り、再生を続けます。
  5. 1小節目にジャンプし再生します。
  6. デフォルトのマーカーです。0小節目にジャンプします。現在再生中の場合は0小節目に戻り、再生を続けます。
  7. デフォルトのマーカーです。1小節目にジャンプします。現在再生中の場合は1小節目に戻り、再生を続けます。

  1. 次のトラックに表示を移動します。
  2. 前のトラックに表示を移動します
  3. イベントリストを表示するかどうかを設定します
  4. イベントリストの表示項目を選びます。特定のイベントだけを表示したいときに使います(フィルタ機能)
  5. OFFにすると、現在のトラックのみミュートとなります。
  6. 現在のトラックのみ発音するようになります。(他のトラックはすべてミュートとなる)
  7. すべてのトラックの音を発音します。ミュート設定を元に戻すときに使います。
  8. リアルタイムレコーディングです。各種MIDI機器からリアルタイムで入力することが出来ます。
  9. ステップ方式の入力です。
  10. ショーエクスクルーシブの受信ボタンです。音源などから送信されたメッセージを受け取ることが出来ます。
  11. トラックのプロパティボタンです。トラックの情報を変更することができます。
  12. 範囲選択モードです。任意の範囲を選択し、切り取り、貼り付けする際に使用します。
  13. 描画モードです。このモードではノートを置いたり、各種コントロールを入力することが出来ます。
  14. 消去モードです。このモードでは選択した範囲のノート、コントロールを消去することが出来ます
  15. ノートオンの位置のクォンタイズを行うかどうか選択します。選択しない場合、Setp値は10ずつ動かすことが出来ます(分解能=480の時)
  16. ノートオフの位置のクォンタイズを行うかどうか選択します。選択しない場合、Gate値は10ずつ動かすことが出来ます(分解能=480の時)
  17. コントロールウィンドウでの描画方法を変更します。フリーハンドです。
  18. コントロールウィンドウでの描画方法を変更します。直線です。
  19. コントロールウィンドウでの描画方法を変更します。スイープです。
  20. コントロールウィンドウでの描画方法を変更します。ランダムです。
  21. ピアノロールウィンドウの横方向の縮尺を増加させます。
  22. ピアノロールウィンドウの横方向の縮尺を減少させます
  23. 演奏位置の追従を行うかどうかを選択します

トラックモニター

現在表示しているトラックのノートデータが表示されます。発音数、また可能な場合はコードが表示されます。後述するコード/スケールアシスト機能により、コードを色分けすることが出来ます。

  1. 現在のトラック番号が表示されます。
  2. 現在のポートとチャンネル番号が表示されます。
  3. 現在の音の状態を表示しています。クリックするとミュート、もう一度クリックすると解除させることが出来ます。ダブルクリックで現在のトラックのみ再生、右クリックで全チャンネル再生させることが出来ます。
  4. BankSelectMSBの値を表示します。
  5. BankSelectLSBの値を表示しています。※
  6. Programナンバーを表示しています。※
  7. 現在の音色名が表示されます。
  8. 現在のボリュームが表示されます。※
  9. 現在のパン(音の定位)が表示されます。※
  10. 現在のエクスプレッションが表示されます。※
  11. 現在のピッチベンドが表示されます※
  12. 現在のモジュレーション(音の振幅)が表示されます。※
  13. 現在のリバーブが表示されます。※
  14. 現在のコーラスが表示されます※
  15. 現在のディレイ(場合によってはバリエーション)が表示されます。※
  16. 不明※
  17. 不明※

    ※左クリックで値を増加、右クリックで値を減少させることが出来ます。左クリックの時右クリック、右クリックの時左クリックすると、値の増減少の速度を速めることが出来ます。

コード表示

一番左の数字はノート数を表しています。

マーカーによって入力された情報を元にトニック、ドミナント、サブドミナントを判別し、トニックは緑、ドミナントは赤、サブドミナントは青に色分けして表示します。また、セカンダリードミナントは紫で表示します。

複数の解釈が出来るコードについては、すべて表示します。

トラックのプロパティ

Title
トラックのタイトルを入力します。
Mode
トラックのモードを変更します。
Drums
ドラムマップを指定します。これによりModeがドラムの時、ピアノロールに各キットにあわせたドラムの楽器名が表示されます。
Key+
トラックのキーを増減することが出来ます。減少させるときは「-x」と入力してください。
Step+
Velocity
Port
ポートを指定します。各音源への割り当ては環境設定で変更することが出来ます。
CH#
チャンネルを指定します。
MIDI Module
現在のトラックのモジュール(定義ファイルを指定します。デフォルトのモジュールは環境設定で変更することが出来ます。

トラックウィンドウ

トラックウィンドウには、イベントリスト、ピアノロール、コントロールの各ウィンドウが表示されます。

イベントリストウィンドウ

トラックのイベントを時間順に表示します。

カーソル移動で即値代入・Enter省略可能。左ダブルクリックで指定したイベントの編集ダイアログがでます。

マウスで左クリックを押しながらなぞると、範囲選択ができます。

右クリックで編集メニューが呼び出せます。

Meas
小節数です。
Tick
小節内のイベントの位置です。コロン/ピリオドで区切るとMeasとTickを直接指定できます。
Step
次のイベントまでの長さです。
Event
イベントの内容です。ノートナンバーやコントロールチェンジが表示されます。
Gate
音の長さです。仮想コントロールチェンジの場合は、ノートナンバーなどである場合もあります。
Vel/Value
ノートの場合はヴェロシティ値、コントロールチェンジの場合はそれに対応した値が表示されます。

ピアノロールウィンドウ

縦軸が音程、横軸が時間を表しています。

紫色のオブジェクトは、ノートを表わします。縦方向で、音程、横方向でゲートタイム、色の濃淡は Velocity の強さを表わします。

範囲選択モードの時
マウスでドラッグ&ドロップすると、範囲選択ができます。この時、右クリックすると、編集メニューが呼び出せます。また、範囲選択の右側をドラッグすると、ゲートタイムの一括増減、ドラッグ&ドロップすると一括移動が出来ます。
描画モードの時
シングルクリックで発音、ダブルクリックでノートを置くことが出来ます。
ノートをドラッグ&ドロップすると、移動することが出来ます。また、ノートの右端をドラッグするとゲートタイムを増減させることが出来ます。
ノートを右クリックすると、ノートの細かい編集ができます。
削除モードの時
ドラッグエンドドロップし、範囲選択した場所にあるノートを削除します。

ピアノロールの縮尺率変更

「+」「-」を押すとピアノロールの縦方向の縮尺が変わります。

ロケーションバー

この領域を選択すると、その範囲のすべてのコントロールが選択できます。

コード/スケールアシスト

左の鍵盤の部分を右クリックすると、『コード/スケールアシスト』ウインドウを呼び出せます。

Bb majorの曲で、Bbを鳴らすという場面で、『コード/スケールアシスト』でChordを選択し、A#(=Bb)を選択した場合。

Bb majorの曲で、『コード/スケールアシスト』でScaleを選択し、Bb majorを選択した場合。

コントロールウィンドウ

描画モードの時
トラックボタンで指定した曲線を描画できます。
範囲選択モードの時
マウスで左クリックを押しながらなぞると、範囲選択ができます。
削除モードの時
選択されているコントロールチェンジを削除します。描画モードでは指定したコントロールチェンジで曲線を描きます。

直線、曲線のインターバル

左側の灰色の部分で右クリックをすると、直線、曲線のインターバルを指定できます。デフォルトのインターバルは40です。あまりインターバルを短くするとメッセージが詰まる恐れがあるので、細かくしても20程度が適切です。

トラックリスト

トラックリストには、現在開いているファイルのトラックの状況が表示されます。

上部のボタンの機能はトラックウィンドウと同等です。

赤い表示はノートの、青い表示はコントロールチェンジの使用状況を表します。

ロケーションバーを選択すると、すべてのトラック、すべてのコントロールを選択することが出来ます。

演奏モニタ

演奏モニタには現在演奏されている全トラックのデータが表示されます。動作については、トラックモニタと同等です。

最上部にはすべてのトラックを合わせた演奏状態が表示されます。

各略号については以下の通りです

表示されるパラメータ

略号意味
Trkトラックナンバー
CH#チャンネルナンバー
MSBBankSelectMSB
LSBBankSelectLSB
PC#プログラムチェンジ
Volボリューム
Panパン
Expエクスプレッション
PBendピッチベンド
Modモジュレーション
Revリバーブ
Crsコーラス
Varバリエーション

応用編

エクスクルーシブの入力

「挿入>エクスクルーシブ」やイベントリストで「X」とすると入力することができます。イベントリストで、エクスクルーシブデータの編集をすると、テキストボックスが表示されます

テキストボックスでは次のようなフォーマットでSystem Exclusiveデータを記述します。先頭の F0h, F7h のステータスバイトは必ず必要になります。

  • 0x.. 16進数で数値を記述します。
  • ..h 16進数で数値を記述します。
  • 0.. 8進数で数値を記述します。
  • 0-127 10進数で数値を記述します。
  • "...." ダブルクォテーションで括った部分を文字列として記述します。
  • [...] []で括った部分のチェックサムを計算し、末尾に結果を置きます。
  • _80 ステータスバイトの8xh (Note OFF)を置きます。チャンネル番号は、そのトラックのMIDI送信チャンネルに依ります。_90, _A0, _B0, _C0, _D0, _E0もあります。
  • _CH パート番号を表わします。MIDIチャンネル番号から生成します。0-31の値が入ります。

仮想コントロールチェンジ

仮想コントロールチェンジを使用するには、まずそのトラックがどのシンセモジュールを使用するかを決めなければなりません。

トラックのプロパティを出して、"MIDI Module"欄で指定して下さい。

仮想コントロールチェンジは、CC#128-255に割り当てられています。

一つ例を挙げると、GMの場合、CC#131 に "Master Volume" というのがあります。本来ならば、エクスクルーシブメッセージで送信するメッセージですが、これをコントロールチェンジのように書くことができます。

MeasTickStepEventGateVel
1:000020Master Volume0115

Velのところにボリュームの値が入ります。

また、応用として、コントロールチェンジ入力ウィンドウで、"131 Master Volume"を選択して、マウスでなぞると、マスターボリュームによるフェードイン/アウトが極めて簡単に出来ます。

仮想コントロールチェンジ割り当て表

範囲用途
0-127MIDI用
128-139RPN用
140-159NRPN用
160-199機種依存用
200-219ドラムNRPN用 gate値はドラムノート番号を表わします
220-239予備
240-255ユーザー用

資料

ショートカットキー一覧表

共通

操作コマンド
元に戻すAlt+BkSp
切り取りShift+Del
コピーCtrl+Ins / Ctrl+C
貼り付けShift+Ins / Ctrl+V
削除(Del)Del
ステップ演奏F8
演奏開始/停止F9
巻き戻しShift+F11
ソロ演奏Shift+F8/F9
4倍速演奏F12
トラック上下移動Ctrl+PgUP/PgDN
ポジション移動(Version 1.4.3)Ctrl+E/X/S/D
ポジション移動(Version 1.5.0 (beta) 以降)Ctrl+3/S/W/E
リアルタイムRecCtrl+R
Window切替Ctrl+Tab / Ctrl+F6
Windowを閉じるCtrl+F4

イベントリストウィンドウ

操作コマンド備考
ノート変更/挿入C-B+/-で#/bを付加 ※キー設定に基づいて#/b自動付加
GateTimeセットF1-F6F1:1920 F2:960 F3:480 F4:240 F5:120 F6:60(分解能480)
Gate以外にフォーカスがある場合はStepTimeの編集
Gate/StepTimeセットShift+F1-F6GateとStepを一括で変更
GateTime 1.5倍F7Gate以外にフォーカスがある場合はStepTimeの編集
Gate/StepTime 1.5倍Shift+F7GateとStepを一括で1.5倍
選択イベント 編集0-9即値代入(BSで取り消し・ESCで中断)
選択イベント 増減Ctrl+↑↓Ctrl+Shift で 10 単位(音程のみ 12 単位)
範囲選択Shift+↑↓
VolumeV
PitchBend/TempoTコンダクタトラック内はTempo
ProgramP
LyricsL
WRD PageW
WRD AdvanceN
Text MessageM
プラグインデータU
エクスクルーシブX
休符挿入R既存ノートからの変更可 ※SMF非出力
任意CC作成/続いて 0-9(CC番号)
音符挿入Insert続いて値入力
演奏位置セットF11イベントリストのカーソル位置に演奏位置をセット
再生中はセット位置からの頭出し
イベント編集ダイアログSpaceダブルクリックと同様
メニュー表示Shift+Space右クリックと同様

※リソースで定義されていればキーは変更可能です

ピアノロールウィンドウ

操作コマンド
選択ノート Vel操作Ctrl ドラッグ
ノート垂直移動Shift ドラッグ
1 Octove増Ctrl+Q
?Ctrl+M
?Ctrl+D
?Ctrl+F
?Ctrl+A

Cherryスレ Part3 94-95 からの転載

仕様

以下はそれぞれ動作しうる最大の値です。

トラック数64
ポート数4
小節数32768
1トラックあたりのステップ数10000
最大分解能960
アンドゥバッファ128

Cherry用シーケンスファイル ファイルフォーマット説明 Revision 1.1 (experiment)

目的、概要

Cherryシーケンスファイルとは、MIDI音源の演奏情報の記録はもちろんのこと、その他の付加情報を記録するために作られたファイルフォーマットです。このファイル形式のコンセプトが、ファイルの配布が目的ではなく、演奏情報の編集が目的であるため、他のシーケンスファイルに比べてサイズが若干大き目になります。また、拡張性を重視し、コンパクトさはあえて追求していません。

用語、定義

WORD
2バイトで表される数値
DWORD
4バイトで表される数値

ファイルのおおまかな構成

Cherryシーケンスファイルは大まかに以下のように構成されます。

  • ヘッダ 768バイト~ (768+トラック数x4バイト)
  • トラックデータ
  • 調性、拍子データ
  • リズムデータ

ヘッダの構成

ヘッダは以下のように定義されています。

アドレス説明補足説明長さ
000h識別IDこのファイルがCherryシーケンスファイルであることを示す。現バージョンでは、"CHRY0101"と記録されます8 bytes
008hタイムベース2 bytes
00Ahトラック数2 bytes
00Ch将来のための予約
100h曲名 ASCIZ文字列128 bytes
180h著作権表示 ASCIZ文字列128 bytes
200h拡張データ先頭アドレスの配列DWORD値が64個存在256 bytes
300hトラックデータ先頭アドレスの配列DWORD値がトラックの数だけ存在

以上のように、定義されます。また、拡張データは今のところ、以下のように定義されています。

拡張データ番号,配列要素番号データの説明
0拍子、調性データへのアドレス
1-4リズムマップ定義

拍子、調性データ

拍子調性データは、ヘッダの拡張データ0番で示されるアドレスに存在します。

アドレス説明長さ
00h拍子、調性データ列の長さ4 bytes
04h拍子調性データ #1
54h拍子調性データ #2
....

拍子、調性データの1つのデータは次のように構成されます。

アドレス説明長さ
00h小節番号2 bytes
02h拍子 分子1 byte
03h拍子 分母1 byte
04hキー情報1 byte
05h将来のための予備領域
10h名前 ASCIZ文字列64 bytes

トラックデータ

トラックデータは、ヘッダに存在する"トラックデータ先頭アドレスの配列"で示されるアドレスに存在します。トラックデータは以下のように構成されます。

アドレス説明長さ
00hトラックデータの長さ4 bytes
04h将来のための予約12 bytes
10h初期化用データ BYTE配列48 bytes
40hトラックのタイトル ASCIZ文字列64 byte
80hイベント列...

イベント列の先頭の休符は特殊な意味を持ち、最初のイベントまでのティック数を表します。イベント列は以下に示されるデータが連続して配置されます。

アドレス説明長さ
00hイベントコード1 byte
01hアドレス1 byte
02hステップタイム4 bytes
06hゲートタイム2 bytes
08hvalue(値)2 bytes

さらに拡張データがある場合は

アドレス説明長さ
10h拡張データの長さ4 bytes
14h拡張データ

イベントコード

イベントコードは以下のように定義されます。

MIDIイベント系 (00-7Fh, 80-9Fh)

イベントコード名称補足説明アドレス値の意味ゲートタイムvalue(値)
00h-7FhNoteイベントコードがそのままノート番号になります。N/AGate TimeVelocity
81hRestN/AN/AN/A
82hControl Change仮想CCも含むコントロールチェンジ番号
83hProgram ChangeN/Aバンクセレクト番号(LSB,MSB)ただし0FFFFhの場合は無視Program#
84hMIDI ChannelN/Aポート番号チャンネル番号
85hリズムON/OFFN/AN/A0..OFF 1..ON
86hリズムパターン切り替えN/AN/Aパターン番号
87hリズムバンク切り替えN/AN/Aバンク番号

拡張データ付き (C0-DFh)

イベントコード名称補足説明アドレス値の意味ゲートタイムvalue(値)
C0hエクスクルーシブデータ拡張データ利用N/AN/AN/A
C1hテキストデータ拡張データ利用N/AN/AN/A
C2h歌詞データ拡張データ利用N/AN/AN/A

演奏制御イベント (F0-FFh)

イベントコード名称補足説明アドレス値の意味ゲートタイムvalue(値)
FFhトラック終了N/AN/AN/A