S.F.Tracker(59) Song Format & XM Sampler

公開:2005-07-20 20:37
更新:2020-02-15 04:36
カテゴリ:sftracker,windows,audio,tracker

Songフォーマットとモジュラーのフォーマットを考えつつ実装している。
何かテスト用のマシンが必要なので、PsycleWTL版のXMSamplerを改造してテストマシンとする予定だ。
Songフォーマットは、マルチパターンを基本にしている。


 SONG FORMAT 
TIME +------------------------------------------>
+--+------------+------------------------------------+
TRK  |  |  PATTERN   |             SEQUENCE               |

  • +--+ ++-----------------------------+-----+ | | | ||PATTERN | | | +--+ +------+-----+---------+-------------+-----+ | | | |PATTERN | | | +--+------+-----+------+--------+--------------------+ | | |PATTERN | | | +---------------+Max:256 tracks +--------------------+ | | | | | | +---------------+ +--------------------+ | | | | | | +---------------+ +--------------------+ | | | | | | +---------------+---------------+--------------------+ | | | | +----------------------------------------------------+ V | | +----------------------------------------------------+ max 256 tracks.

こんな感じである。

Pattern DataのFormatはというと

PATTEN ROW = DELTA TICK + NOTE or COMMAND, NOTE or COMMAND .... DELTA TICK Bit 31 always 0. Bit 30 - 0 delta tick ( 0 - 2147483648 ); COMMAND CODE FORMAT 1st. DWORD Bit 31 always 1. Bit 30 always 1. Bit 29-16 COMMAND CODE (max 16384 commands) 0 - 4095 system command 4096 - 16384 user defined command Bit 15-0 COMMAND Parameter (0 - 65535) 2nd. DWORD (optional) COMMAND Parameter 3rd. DWORD (optional) . . . NOTE CODE FORMAT 1st. DWORD Bit 31 always 1. Bit 30 always 0. Bit 29-16 reserved. Bit 15 1 .. GATE TIME ON 0 .. GATE TIME OFF Bit 14 - 8 NOTE ( 0 - 127 ) Bit 7 - 0 Velocity ( 0 - 255 ) 0 .. NOTE OFF 2nd. DWORD if(Bit15 == 1) GATE TIME (0 - 2147483648 tick)
という風である。
新しい?要素としては、Gate Time、Delta Timeを採用しているところだろう。

XMSamplerは、Multi Outにするつもりである。
なので、全面書き換えとなるかもしれない。