「mxtファイル構造」の編集履歴(バックアップ)一覧はこちら
mxtファイル構造 - (2007/12/07 (金) 20:50:57) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
MIXTUREは独自ファイル形式の.mxtしか読み込めません。
その為、他の.mid形式(SMF)のファイルさえ読み込めません。
また、MIXTUREで作った自分のファイルさえ新しい曲の中に挿入する事が出来ません。
これはあまりにも不便ではないでしょうか?
その為、.mid形式(SMF)のファイルから.mxtファイルへコンバートするソフトの開発を計画中です。
まず、.mxtファイル構造を解析し、このページで解析結果を記述していきます。
*.mxtファイル
|[[識別部>mxtファイル構造#H]]|[[演奏データ部>mxtファイル構造#D]]|[[トラック属性部?>mxtファイル構造#T]]|
&aname(H){}
**識別部
38bytes固定データ
「MC10 LOOPSequencer [MC10] MC10hd」
&aname(D){}
**演奏データ部
|[[データ長>mxtファイル構造#DL]]|[[演奏データ本体>mxtファイル構造#DD]]|
&aname(DL){}
***データ長
4bytes
リトルエンディアン:Ox01 0x02 0x03 0x04 の並びならデータ長は0x04030201
&aname(DD){}
***演奏データ本体
データ長で示されたbytes
&aname(T){}
**トラック属性部?
// .mxtファイル
// ├識別部
// │ 38bytes固定データ:「MC10 LOOPSequencer [MC10] MC10hd」
// ├演奏データ部
// │├データ長:4bytes(Ox01 0x02 0x03 0x04 の並びならデータ長は0x04030201)
// │└演奏データ本体:データ長で表されたbytes
// └トラック属性部?
// 表現参考URL:http://homepage2.nifty.com/sophia0/png.html
最新情報は[[シンボルファイル>mxt シンボルファイル for TsxBin]]で。
*.mxtファイル
|[[識別部>mxtファイル構造#H]]|[[演奏データ部>mxtファイル構造#D]]|[[トラック属性部?>mxtファイル構造#T]]|
&aname(H){}
**識別部
38bytes固定データ
「MC10 LOOPSequencer [MC10] MC10hd」
&aname(D){}
**演奏データ部
|[[データ長>mxtファイル構造#DL]]|[[データ本体>mxtファイル構造#DD]]|
&aname(DL){}
***データ長
4bytes
リトルエンディアン:Ox01 0x02 0x03 0x04 の並びならデータ長は0x04030201
&aname(DD){}
***データ本体
データ長で示されたbytes
|曲タイトル部|?部|作曲者名部|編曲者名部|著作権表示部|曲コメント部|?部|?部|?部|?部|?部|?部×48|解析中|
&aname(ST){}
****曲タイトル部
|識別子?|曲タイトル長|曲タイトル|
***識別子?
5bytes
0x10 0x00 0x30 0x00 0x10(最初の4bytesは別のもの?)
***曲タイトル長
4bytes(リトルエンディアン)
***曲タイトル
曲タイトル長のbytes(最後の0x00も含む)
Shift-JIS(最後は0x00、0x00まで含み128bytesまで。)
***?部(作詞者用?、現在は1bytes=0x00)
|識別子?|?長|?|
***識別子?
1bytes
0x11
***?長
4bytes(リトルエンディアン)
***?
?長のbytes(最後の0x00も含む)
未確認:Shift-JIS(最後は0x00、0x00まで含み128bytesまで。)
***作曲者名部
|識別子?|作曲者名長|作曲者名|
***識別子?
1bytes
0x12
***作曲者名長
4bytes(リトルエンディアン)
***作曲者名
曲タイトル長のbytes(最後の0x00も含む)
Shift-JIS(最後は0x00、0x00まで含み128bytesまで。)
***編曲者名部
|識別子?|編曲者名長|編曲者名|
***識別子?
1bytes
0x13
***編曲者名長
4bytes(リトルエンディアン)
***編曲者名
編曲者名長のbytes(最後の0x00も含む)
Shift-JIS(最後は0x00、0x00まで含み128bytesまで。)
***著作権表示部
|識別子?|著作権表示長|著作権表示|
***識別子?
1bytes
0x14
***著作権表示長
4bytes(リトルエンディアン)
***著作権表示
曲タイトル長のbytes(最後の0x00も含む)
Shift-JIS(最後は0x00、0x00まで含み128bytesまで。)
***曲コメント部
|識別子?|曲コメント長|曲コメント|
***識別子?
1bytes
0x15
***曲コメント長
4bytes(リトルエンディアン)
***曲コメント
曲タイトル長のbytes(最後の0x00も含む)
Shift-JIS(最後は0x00、0x00まで含み1000bytesまで。)
***?部
|識別子?|?長|?|
***識別子?
1bytes
0x16
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は1bytes=0x00)
***?部
|識別子?|?長|?|
***識別子?
1bytes
0x1B
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は1bytes=0x00)
***?部
|識別子?|?長|?|
***識別子?
1bytes
0x1C
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は256bytes=0x00のみ)
***?部
|識別子?|?長|?|
***識別子?
1bytes
0x1E
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は360bytes=3C FF FF FF FF FF FF 00…)
***?部
|識別子?|?長|?|
***識別子?
1bytes
0x1F
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は4bytes=30 00 00 00)
***?部×48
|識別子?|?長|?|
***識別子?
1bytes
0x22
***?長
4bytes(リトルエンディアン)
***?
?長のbytes
(現在は6bytes=00 00 4F 00 00 00~2F 00 4F 00 00 00)
最初の値は多分トラック番号
&aname(T){}
**トラック属性部?
|トラック部×(3+48)|VSTi部?|
***トラック部
|識別子|データ長|データ|
***識別子
5bytesデータ
「MC10Tr」
***データ長
4bytes(リトルエンディアン)
***データ
|識別子?|データ|
***識別子?
2bytes
0x02 0x00:拍子/キー
0x03 0x00:テンポ
0x04 0x00:コード
0x09 0x02:歌詞?
0x07 0x00:ミックスコントロール?
0x08 0x00:トラック01
~
0x37 0x00:トラック48
***データ
***VSTi部?
|識別子|データ長|データ|
***識別子
5bytes
「SVSTi」
***データ長
4bytes(リトルエンディアン)
***データ
現在0bytes
----
***memo
Volume Panpot Revertb Chorusの各レベル
0の時0x80、127の時0xFF
MasterVolumeのレベル
0の時0x00、127の時0xFE
ファイルに格納時は2倍される。
// .mxtファイル
// ├識別部
// │ 38bytes固定データ:「MC10 LOOPSequencer [MC10] MC10hd」
// ├演奏データ部
// │├データ長:4bytes(Ox01 0x02 0x03 0x04 の並びならデータ長は0x04030201)
// │└演奏データ本体:データ長で表されたbytes
// └トラック属性部?
// 表現参考URL:http://homepage2.nifty.com/sophia0/png.html