XM/MOD/S3M/IT文件属于模块(module)文件,它通过使用合成乐器和完整取样能提供多于4声道的多声道音乐。XM文件由一系列乐器声音取样和序列信息组成,它告诉播放器该在什么时候在哪个声道播放哪种乐器的声音样本,而且还带着pitch的信息,这种信息用来表现乐器的颤音。对于PC,可以选择XM或者IT格式。MOD适合于Amiga(一种多媒体计算机)。
XM文件是由Patterns和Instruments构成的。一个Pattern是一组长度固定的音轨的组合,一般是64行,每行由多个Channel组成,每个Channel包含乐器、音效及参数等信息;一个XM文件就是一些Pattern的排列组合,Pattern的编号存放在Pattern Order表里,同一个Pattern可以被反复使用多次。Instrument是乐器声音的采样。
在播放时,播放器按照Pattern Order表依次播放每个Pattern。每个Pattern则逐行播放。播放是以Tick(如20ms)为单位进行的。SPEED参数指定了播放一行所用的Tick数(一般为6)。
每行的格式如下:
Note Instrument Volume Effect command Effect parameters
C#5 1 40 1 01
可以看到每行由所用的Instrument(Sample)、音符(Note)、音量、音效命令及参数构成。
一个4Channel的Pattern的格式如下:
C#5 1 40 101 F-6 2 38 330 G-3 3 20 F05 --- -- 000
--- -- 102 --- -- 300 D-2 3 24 A0F C-4 4 -- 472
C#5 5 -- E93 --- -- 300 --- 3 P0 A0F --- -- 400
………
………(共64行)
音效包括命令(Command)和参数(Parameters)两部分,音效命令有20多种,如“C”用来设置音量,参数代表所设置的音量大小(0-0x40);位置跳转命令“B”,参数代表位置; “8”用来设置Panning(左右声道控制,类似于立体声)等等。其他的音效包括:volume slide、Set Tempo、Pattern Break、Portamento up/down、Vibrato、Tremolo等。