RCPファイルフォーマット

公開:2010-12-21 21:03
更新:2020-02-15 04:36
カテゴリ:windows,sted2,c++,audio

STed2のソースから、RCPファイルフォーマットを調べてみた。

RCPファイルフォーマット

ファイルヘッダ

ファイルの位置変数の型説明
0x0000 - 0x001fchar[32]ヘッダ文字列
0x0020 - 0x005fchar[64]タイトル
0x0060 - 0x01bfchar[336]タイトル
0x01c0charタイムベースLSB
0x01c1charテンポ
0x01c2char拍子分母
0x01c3char拍子分子
0x01c4charキー
0x01c5charPlay Bias
0x01e6charトラック数
0x01e7charタイムベースMSB

ユーザ・エクスクルーシブ定義

ファイルの位置変数の型説明
0x041e - 0x0435char[24]ユーザエクスクルーシブ1
0x044e - 0x0465char[24]ユーザエクスクルーシブ2
0x047e - 0x0495char[24]ユーザエクスクルーシブ3
0x04ae - 0x04c5char[24]ユーザエクスクルーシブ4
0x04de - 0x04f5char[24]ユーザエクスクルーシブ5
0x050e - 0x0525char[24]ユーザエクスクルーシブ6
0x053e - 0x0555char[24]ユーザエクスクルーシブ7
0x056e - 0x0585char[24]ユーザエクスクルーシブ8

トラックヘッダ(0x0586~)

位置変数の型説明
0x0000 - 0x0001shortサイズ
0x0004unsigned charチャンネル
0x0005unsigned charキー
0x0006unsigned charステップ
0x0007unsigned char モード
0x0008 - 0x002Bunsigned char[36]トラックコメント
0x002c ~unsigned char[サイズ - 0x2c]トラックデータ

上記データをトラック数分繰り返し。

トラックデータ

位置変数の型説明
0x0000unsigned charイベント
0x0001unsigned charステップタイム
0x0002unsigned charゲートタイム
0x0003unsigned charベロシティ

補足

イベント一覧

位置説明
0x00 - 0x7fノートナンバー
0x90 - 0x97ユーザ・エクスクルーシブ 1-8
0x98チャンネル・エクスクルーシブ
0x99外部プログラムの実行
0xe2バンク&プログラム
0xe5キースキャン
0xe6MIDIチャンネル・チェンジ
0xe7テンポ・チェンジ
0xeaアフター・タッチ
0xebコントロール・チェンジ
0xecプログラム・チェンジ
0xedポリフォニック・アフター・タッチ
0xeeピッチ・ベンド
0xd0ヤマハ
0xd1ヤマハ・デバイス番号
0xd2ヤマハ・アドレス
0xd3ヤマハ・XG・アドレス
0xddローランド
0xdeローランド・パラメータ
0xdfローランド・デバイス
0xf5キーチェンジ
0xf6コメント開始
0xf8ループ終了
0xf9ループ開始
0xfcセームメジャー
0xfdメジャーエンド
0xfeトラックの終了
0xc0DX7 ファンクション
0xc1DX7 パラメータ
0xc2DX7 RERF?
0xc3TX ファンクション
0xc5FB01 パラメータ
0xc6FB01 システム
0xc7TX81Z VCED
0xc8TX81Z ACED
0xc9TX81Z PCED
0xcaTX81Z システム
0xcbTX81Z エフェクト
0xccDX7-2 リモートスイッチ
0xcdDX7-2 ACED
0xceDX7-2 PCED
0xcfTX802 PCED
0xdcMKS 7
0xf7RCP 2nd イベント