What is MIME type "audio/x-s3m"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

audio/x-s3m is a MIME type for module music files. It denotes files that combine audio samples with sequencing data. These files let programs generate multi-channel music from small, efficient packages.

They are built for tracker software that arranges digital sounds. The format supports creative, sample-based compositions often heard in demos and games.

Key uses include: This MIME type also covers several related module formats such as MOD, FAR, XM, IT, STM, AMF, MED, WOW, DMF, S3M, 669, MTM, MT2, ULT, and OKT.

For further technical details, check the Scream Tracker article on Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: audio/x-s3m    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="audio/x-s3m">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'audio/x-s3m');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Can web browsers play audio/x-s3m files natively?

No, standard web browsers like Chrome and Firefox do not support module music files natively. To play these files on a webpage, developers must use JavaScript-based players such as libopenmpt or chiptune2.js to render the audio.

What software opens files with the audio/x-s3m MIME type?

You can open these files using dedicated tracker software or versatile media players. Popular choices include OpenMPT (Open ModPlug Tracker), VLC Media Player, and XMPlay, which support formats like .s3m, .xm, and .it.

How do I configure Apache to serve S3M and tracker files correctly?

Add the MIME type definition to your .htaccess file or main configuration. Use the line AddType audio/x-s3m .s3m .xm .mod .it to ensure the server sends the correct header instead of defaulting to text or binary.

Why are S3M and module files used instead of MP3 or WAV?

Module files are extremely efficient in file size because they store musical notation and instrument samples rather than a continuous waveform. This makes audio/x-s3m ideal for keygen music, demos, and retro games where storage space is limited.

What does the "x-" prefix indicate in audio/x-s3m?

The x- prefix signifies that the MIME type is non-standard or experimental. It was commonly adopted for Scream Tracker 3 files because no official standard existed in the IANA registry for this specific format.

How do I fix Nginx serving .s3m files as application/octet-stream?

You must map the file extension to the correct content type in your mime.types file or server block. Add the entry audio/x-s3m s3m; (and other extensions like xm or mod if needed) inside the types { ... } block.

Is audio/x-s3m the only MIME type for tracker music?

No, while audio/x-s3m is specific to Scream Tracker files, other formats often use their own types like audio/x-mod, audio/x-xm, or audio/it. However, some server configurations group multiple tracker extensions under audio/x-s3m for simplicity.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.