S3M (file format)
From Wikipedia, the free encyclopedia
This article is about the music file format. For the software maintenance maturity model, see *S3M.
S3M is the file format used by the popular Scream Tracker 3 PC music tracker.
The S3M format is an advanced module format, and is the successor to the STM format used by the original Scream Tracker. Both formats are based on the original MOD format used on the Commodore Amiga computer.
The S3M format has many differences compared to its predecessors.
- The format is a hybrid of digital playback and synthesized instruments. The official format specification document covers space for 16 digital channels and 14 synthesized ones with two unused slots out of a total of 32.
- Separate volume channel in pattern data.
- Supports more instruments than MOD or STM (99 instead of 31).
- Default panning of channels can be specified by the composer.
- Extra-fine pitch slides are added
- Instruments are not limited to a fixed sample rate for a given note. The format stores the instrument's sample rate at middle C.
The period table used by S3M is smaller than the one used by the MOD format (only 12 entries, compared to between 36 and 60 for the MOD variations) and uses larger values in order to be able to compute the extra-fine pitch slides. The playback routines, however, use relatively straightfoward formulas to get the final period values used in playback. The key formula for this takes into account the instrument's stored sample rate at middle C.
One interesting feature of the S3M format which is seldom used, is the format's support for FM instruments. These were designed to be played back on sound cards that included an OPL2 or compatible FM synthesis chip, although nowadays with the available CPU power it's possible to perform the same synthesis in software. One example of such software is the Adplug plugin for the Windows audio player Winamp.