Q12P1 Q1形式ファイルをP1形式に変換する

書法

Q12P1 [filename]* [option]*

SHELLMODE

@記述、!記述、^記述

詳細

Q1形式ファイルをP1形式に変換して出力する
ファイル名を省略すると標準入力を取り扱う。

P1形式

MIDIシーケンスの処理を簡易とするために設けた形式。
テンポ情報を持たない絶対時間形式である。 ティックの分解能は-Tオプションで指定する(デフォルトは8ms)。

記述

単純にメッセージを時間軸に沿って並べる。 最後のメッセージは、後述の、EOTメッセージであること。
全てのメッセージの先頭には1バイトのデルタタイムがつく。 このデルタタイムは、先行するメッセージとの差分のティック数。
SYSEXの2種類のメッセージを除けば、すべて、4バイトの固定長である。 従って、通常の使用法では、単純にメッセージ配列として取り扱える。

メッセージ

CHANNEL DB delta,status,val1,val2 MIDIのChannelメッセージに相当する。
TIMING DB delta,0xf8,0,0 デルタタイムのオーバーフローを補うためのダミーメッセージ
EOT DB delta,0ffh,0,0 一番最後のメッセージ。
sysexF0 DB delta,0xf0
DWORD len
DB body.....
SYSEXメッセージ。可変長。
データ先頭のF0は省略されている。 もし、このメッセージ内で完了するならば、データの最後にはF7があるべき。
sysexF7 DB delta,0xf7
DWORD len
DB body.....
SYSEXメッセージ。可変長。
このメッセージの内容は、そのまま出力される。
通常は使用すべきではない。 sysex内部で複雑な時間管理が必要な場合にのみ使用する。

OPTION

-Ttime
mS単位でティックあたりの時間を指定する。
時間指定には小数での指定が可能。(例、-T8.224)。
デフォルトは8.00mSである。
-Ofilename
指定のファイルに出力を切り替える。
-X
SYSTEM EXCLUSIVEメッセージも変換する。デフォルトは変換しない。

用例

参考

バージョン

Ver 1.00初版