15 September 2026
Converting AMF Tracker Modules to WAV: Advanced Module Format Audio Synthesis
In the early 1990s, the IBM PC demoscene was undergoing a dramatic sonic renaissance. While the Commodore Amiga's hardware audio chipset was strictly limited to four 8-bit digital sound channels, PC sound cards like the Gravis UltraSound and Creative Sound Blaster 16 unlocked multi-channel polyphony.
Finnish demoscene programmer and musician Otto Chrons developed the Digital Sound & Music Interface (DSMI) library and the Advanced Module Format (AMF). AMF powered legendary PC music tracker programs including ASYLUM Music Format Tracker and was chosen by game developers for soundtracks like Star Control II.
Files encoded in this tracker format carry the .amf extension.
This technical guide unpacks the binary structure of AMF revisions (v1.0 through v1.4 and ASYLUM 1.0), details the packed pattern track architecture, and explains how convrtr's AMF to WAV converter synthesizes authentic 16-channel DOS module soundtracks into studio-quality 16-bit stereo WAV files entirely within your web browser.
The AMF File Header
An AMF file begins with a distinct multi-byte signature identifying its format version:
| Magic Bytes | Version | Description |
| :--- | :--- | :--- |
| "AMF" (0x01 to 0x0E) | AMF v1.0–v1.4 | Otto Chrons DSMI tracker format |
| "ASYLUM " (0x20) | ASYLUM 1.0 | ASYLUM Music Format tracker |
Following the magic signature, the header stores global playback parameters:
- Song Title: 32 ASCII characters describing the track name.
- Sample Count: Number of digital PCM audio instruments (up to 64).
- Order Count: Total sequence entries determining pattern progression.
- Track / Channel Count: Number of simultaneous playback channels (up to 16).
- Initial Tempo & BPM: Default playback speed and ticks per row.
Sample Headers and Audio Memory
Each digital sample is defined by a structured header table specifying its memory footprint and loop behavior:
- Sample Type: Unsigned or signed 8-bit PCM samples.
- Sample Length: Length in bytes of the raw waveform data.
- Loop Start & End: Sample offsets for sustained notes and looping pads.
- Volume & Finetune: Base playback amplitude (0–64) and frequency tuning adjustments.
Unlike Amiga MOD files where samples were limited to 64KB, AMF allowed samples to span arbitrary memory buffers suitable for PC extended memory (XMS).
Channel Track Packing
AMF achieved superior compression compared to uncompressed MOD files through its independent track structure. Rather than storing empty rows across all channels in a global matrix, AMF decomposes patterns into reusable column tracks:
Pattern Matrix = [Channel 0 Track Index, Channel 1 Track Index, ..., Channel N Track Index]
Within each track, events are encoded as compact byte streams:
- Note and Octave: 1–83 semitones mapped to standard ProTracker frequency tables.
- Instrument Index: Reference to the sample header.
- Volume and Effect Commands: Arpeggio, portamento, vibrato, and volume slides.
- Empty Row Compression: Consecutive silent rows are stored as single repeat codes.
Client-Side In-Browser Synthesis
convrtr's AMF audio engine parses the module header, decodes all packed channel tracks, and executes an authentic 16-channel software mixer running at 44.1 kHz. Each channel interpolates 8-bit PCM waveforms using linear resampling, adjusts stereo panning, and generates a lossless 16-bit stereo WAV buffer.
No plugins, command-line utilities, or cloud uploads are required. All synthesis runs in pure client-side TypeScript inside your browser.
Related reading
Converting FastTracker II XM Chiptune Modules to WAV: Architecture and Synthesis
Explore the forensic format of Triton FastTracker II Extended Modules (.xm). Understand 32-channel pattern matrices, linear pitch tables, delta sample compression, and client-side WAV rendering.
Converting Scream Tracker 3 S3M Modules to WAV: Architecture and Synthesis
Examine Future Crew's Scream Tracker 3 (.s3m) format. Learn how 32-channel bit-packed note patterns, 16-bit paragraph sample offsets, and Gus/OPL panning are synthesized into 16-bit linear PCM WAV.
Converting Impulse Tracker IT Modules to WAV: Architecture and Synthesis
Explore Jeffrey Lim's Impulse Tracker (.it) format. Learn about 64-channel matrix structures, C5Speed frequency tables, sample compression, and client-side WAV rendering.
Converting PolyTracker (PTM) to WAV: 32-Channel DOS Game Chiptune Synthesis
Explore Carlos Hasan's PolyTracker PTMF architecture. Learn how 32-channel panning tables, 16-bit PCM samples, ping-pong loops, and tracker synthesis render into CD-quality WAV in browser memory.
Converting Farandole Composer (.far) to WAV: 16-Channel DOS Tracker Synthesis
Dive into Daniel Potter's 1994 Farandole Composer module format. Discover how 16-channel pattern cells, 8-bit PCM samples, custom panning tables, and real-time chiptune synthesis render into pristine 16-bit WAV audio.
Converting Composer 669 (.669) to WAV: 8-Channel DOS Tracker Synthesis
Explore Tomasz Pytel's 1992 Composer 669 tracker format. Learn how 8-channel pattern matrices, 108-byte song messages, 8-bit unsigned PCM waveforms, and software mixing synthesize into clean 16-bit stereo WAV.
Converting DSM Tracker Modules to WAV: RIFF DSMF Multi-Channel Audio Synthesis
Explore DSIK's Dynamic Studio Module (DSM) tracker architecture. Learn how RIFF container chunks, 16-channel pattern matrices, and 8-bit PCM samples synthesize into 16-bit stereo WAV.
Converting Reality Adlib Tracker (RAD) to WAV: 9-Channel OPL2 FM Synthesis
Explore the internal architecture of Reality Adlib Tracker (.rad) files. Learn how Yamaha YM3812 2-operator FM synth parameters synthesize into 16-bit stereo WAV in your browser.
Converting Oktalyzer (OKT) Modules to WAV: Amiga 8-Channel Chiptune Synthesis
Explore Armin Sander's legendary Amiga Oktalyzer (.okt) tracker format. Learn how 8-channel software mixing on the 4-channel Paula sound chip is rendered into studio WAV audio.
Converting MultiTracker (MTM) Modules to WAV: 32-Channel Track Matrix Synthesis
Discover Daniel Gold's Renaissance MultiTracker (.mtm) format. Learn how 32-channel track matrix sequencing, volume panning, and 8-bit PCM samples synthesize to 16-bit WAV.
Converting id Software IMF Audio to WAV: Yamaha OPL2 FM Synthesis in the Browser
Dive into id Software's IMF music format from Wolfenstein 3D and Commander Keen. Learn how Yamaha YM3812 FM register bytes synthesize into 16-bit stereo WAV audio.
Converting HMI DOS Game Audio to WAV: Emulating 1990s PC Soundtracks
Explore Human Machine Interfaces (HMI) MIDI audio from Descent, Warcraft II, and Mortal Kombat. Learn how multi-track game sequences synthesize into 16-bit stereo WAV.
Converting AdLib ROL Music to WAV: Emulating 1980s PC FM Synthesis
Discover AdLib Visual Composer (.rol) music from the pioneer era of PC audio. Learn how Yamaha YM3812 (OPL2) FM synthesis converts to 16-bit stereo WAV.
Converting Miles Sound System XMI to WAV: 1990s PC Game Soundtracks
Discover Miles Sound System Extended MIDI (.xmi) audio from Wing Commander, Ultima, and Theme Park. Learn how IFF XMID sequences convert to 16-bit stereo WAV.