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 1.4.3 (release)
- Cherry 1.4.3# 拡張パッチ
インストール
配布アーカイブに添付されているファイルを同じフォルダに置いてください。
またオプションの音色定義ファイルは、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オクターブ上げる」ボタンです。
- 「1オクターブ下げる」ボタンです。
- 「クォンタイズ」のボタンです。
- 「現在の演奏位置」ボタンです。
- 「演奏テンポ」の表示です。ボタンです。
- 「ループ演奏」ボタンです。
- 「巻き戻し」ボタンです。
- 「1小節前へ」ボタンです。
- 「現在の小節頭へ」ボタンです。
- 「演奏開始/停止」ボタンです。
- 「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小節目にジャンプします。現在再生中の場合は1小節目に戻り、再生を続けます。
- 1小節目にジャンプし再生します。
- デフォルトのマーカーです。0小節目にジャンプします。現在再生中の場合は0小節目に戻り、再生を続けます。
- デフォルトのマーカーです。1小節目にジャンプします。現在再生中の場合は1小節目に戻り、再生を続けます。
- 次のトラックに表示を移動します。
- 前のトラックに表示を移動します
- イベントリストを表示するかどうかを設定します
- イベントリストの表示項目を選びます。特定のイベントだけを表示したいときに使います(フィルタ機能)
- OFFにすると、現在のトラックのみミュートとなります。
- 現在のトラックのみ発音するようになります。(他のトラックはすべてミュートとなる)
- すべてのトラックの音を発音します。ミュート設定を元に戻すときに使います。
- リアルタイムレコーディングです。各種MIDI機器からリアルタイムで入力することが出来ます。
- ステップ方式の入力です。
- ショーエクスクルーシブの受信ボタンです。音源などから送信されたメッセージを受け取ることが出来ます。
- トラックのプロパティボタンです。トラックの情報を変更することができます。
- 範囲選択モードです。任意の範囲を選択し、切り取り、貼り付けする際に使用します。
- 描画モードです。このモードではノートを置いたり、各種コントロールを入力することが出来ます。
- 消去モードです。このモードでは選択した範囲のノート、コントロールを消去することが出来ます
- ノートオンの位置のクォンタイズを行うかどうか選択します。選択しない場合、Setp値は10ずつ動かすことが出来ます(分解能=480の時)
- ノートオフの位置のクォンタイズを行うかどうか選択します。選択しない場合、Gate値は10ずつ動かすことが出来ます(分解能=480の時)
- コントロールウィンドウでの描画方法を変更します。フリーハンドです。
- コントロールウィンドウでの描画方法を変更します。直線です。
- コントロールウィンドウでの描画方法を変更します。スイープです。
- コントロールウィンドウでの描画方法を変更します。ランダムです。
- ピアノロールウィンドウの横方向の縮尺を増加させます。
- ピアノロールウィンドウの横方向の縮尺を減少させます
- 演奏位置の追従を行うかどうかを選択します
トラックモニター
現在表示しているトラックのノートデータが表示されます。発音数、また可能な場合はコードが表示されます。後述するコード/スケールアシスト機能により、コードを色分けすることが出来ます。
- 現在のトラック番号が表示されます。
- 現在のポートとチャンネル番号が表示されます。
- 現在の音の状態を表示しています。クリックするとミュート、もう一度クリックすると解除させることが出来ます。ダブルクリックで現在のトラックのみ再生、右クリックで全チャンネル再生させることが出来ます。
- BankSelectMSBの値を表示します。
- BankSelectLSBの値を表示しています。※
- Programナンバーを表示しています。※
- 現在の音色名が表示されます。
- 現在のボリュームが表示されます。※
- 現在のパン(音の定位)が表示されます。※
- 現在のエクスプレッションが表示されます。※
- 現在のピッチベンドが表示されます※
- 現在のモジュレーション(音の振幅)が表示されます。※
- 現在のリバーブが表示されます。※
- 現在のコーラスが表示されます※
- 現在のディレイ(場合によってはバリエーション)が表示されます。※
- 不明※
- 不明※
※左クリックで値を増加、右クリックで値を減少させることが出来ます。左クリックの時右クリック、右クリックの時左クリックすると、値の増減少の速度を速めることが出来ます。
コード表示
一番左の数字はノート数を表しています。
マーカーによって入力された情報を元にトニック、ドミナント、サブドミナントを判別し、トニックは緑、ドミナントは赤、サブドミナントは青に色分けして表示します。また、セカンダリードミナントは紫で表示します。
複数の解釈が出来るコードについては、すべて表示します。
トラックのプロパティ
- 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# | チャンネルナンバー |
MSB | BankSelectMSB |
LSB | BankSelectLSB |
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" というのがあります。本来ならば、エクスクルーシブメッセージで送信するメッセージですが、これをコントロールチェンジのように書くことができます。
Meas | Tick | Step | Event | Gate | Vel |
1: | 0000 | 20 | Master Volume | 0 | 115 |
Velのところにボリュームの値が入ります。
また、応用として、コントロールチェンジ入力ウィンドウで、"131 Master Volume"を選択して、マウスでなぞると、マスターボリュームによるフェードイン/アウトが極めて簡単に出来ます。
仮想コントロールチェンジ割り当て表
範囲 | 用途 |
---|---|
0-127 | MIDI用 |
128-139 | RPN用 |
140-159 | NRPN用 |
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 |
リアルタイムRec | Ctrl+R |
Window切替 | Ctrl+Tab / Ctrl+F6 |
Windowを閉じる | Ctrl+F4 |
イベントリストウィンドウ
操作 | コマンド | 備考 |
---|---|---|
ノート変更/挿入 | C-B | +/-で#/bを付加 ※キー設定に基づいて#/b自動付加 |
GateTimeセット | F1-F6 | F1:1920 F2:960 F3:480 F4:240 F5:120 F6:60(分解能480) Gate以外にフォーカスがある場合はStepTimeの編集 |
Gate/StepTimeセット | Shift+F1-F6 | GateとStepを一括で変更 |
GateTime 1.5倍 | F7 | Gate以外にフォーカスがある場合はStepTimeの編集 |
Gate/StepTime 1.5倍 | Shift+F7 | GateとStepを一括で1.5倍 |
選択イベント 編集 | 0-9 | 即値代入(BSで取り消し・ESCで中断) |
選択イベント 増減 | Ctrl+↑↓ | Ctrl+Shift で 10 単位(音程のみ 12 単位) |
範囲選択 | Shift+↑↓ | |
Volume | V | |
PitchBend/Tempo | T | コンダクタトラック内はTempo |
Program | P | |
Lyrics | L | |
WRD Page | W | |
WRD Advance | N | |
Text Message | M | |
プラグインデータ | 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 |
08h | value(値) | 2 bytes |
さらに拡張データがある場合は
アドレス | 説明 | 長さ |
---|---|---|
10h | 拡張データの長さ | 4 bytes |
14h | 拡張データ |
イベントコード
イベントコードは以下のように定義されます。
MIDIイベント系 (00-7Fh, 80-9Fh)
イベントコード | 名称 | 補足説明 | アドレス値の意味 | ゲートタイム | value(値) |
---|---|---|---|---|---|
00h-7Fh | Note | イベントコードがそのままノート番号になります。 | N/A | Gate Time | Velocity |
81h | Rest | N/A | N/A | N/A | |
82h | Control Change | 仮想CCも含む | コントロールチェンジ番号 | 値 | 値 |
83h | Program Change | N/A | バンクセレクト番号(LSB,MSB)ただし0FFFFhの場合は無視 | Program# | |
84h | MIDI Channel | N/A | ポート番号 | チャンネル番号 | |
85h | リズムON/OFF | N/A | N/A | 0..OFF 1..ON | |
86h | リズムパターン切り替え | N/A | N/A | パターン番号 | |
87h | リズムバンク切り替え | N/A | N/A | バンク番号 |
拡張データ付き (C0-DFh)
イベントコード | 名称 | 補足説明 | アドレス値の意味 | ゲートタイム | value(値) |
---|---|---|---|---|---|
C0h | エクスクルーシブデータ | 拡張データ利用 | N/A | N/A | N/A |
C1h | テキストデータ | 拡張データ利用 | N/A | N/A | N/A |
C2h | 歌詞データ | 拡張データ利用 | N/A | N/A | N/A |
演奏制御イベント (F0-FFh)
イベントコード | 名称 | 補足説明 | アドレス値の意味 | ゲートタイム | value(値) |
---|---|---|---|---|---|
FFh | トラック終了 | N/A | N/A | N/A |