15 September 2026
Converting Oktalyzer (OKT) Modules to WAV: Amiga 8-Channel Chiptune Synthesis
Converting Oktalyzer (OKT) Modules to WAV: Amiga 8-Channel Chiptune Synthesis
Released in 1989 by German programmer Armin Sander, Oktalyzer was an engineering breakthrough for the Commodore Amiga. While the Amiga's custom sound coprocessor (Paula) natively featured only 4 hardware DMA audio channels (2 panned hard left and 2 panned hard right), Oktalyzer introduced software mixing to squeeze 8 polyphonic channels out of the standard Amiga 500.
In this deep dive, we explore the chunk-based architecture of .okt files, the mechanics of Amiga PAL period calculation, and how convrtr synthesizes Oktalyzer modules into studio-grade 16-bit 44.1kHz stereo WAV audio entirely within your browser.
1. The OKTASONG Chunk Structure
Oktalyzer modules follow an IFF-like chunk-based layout starting with the 8-byte ASCII format signature OKTASONG:
| Chunk ID | Name | Description |
|---|---|---|
| CMOD | Channel Modes | 8 bytes configuring 4-channel vs 8-channel voice pairings |
| SAMP | Sample Headers | 32-byte headers per sample: name, length, loop start, loop length, and volume |
| SPEE | Default Speed | Initial tick tempo per pattern row (typically 6 ticks) |
| SLEN | Song Length | Number of orders in the arrangement playlist |
| PLEN | Pattern Length | Total count of distinct patterns stored in the file |
| PATT | Order List | Array of 16-bit indices mapping arrangement orders to pattern numbers |
| PBOD | Pattern Body | Pattern row cells: 64 rows with note, instrument, and effect commands |
| SBOD | Sample Bodies | Raw 8-bit signed mono PCM waveforms (-128 to 127) |
2. Amiga Paula Period and Frequency Synthesis
In classic Amiga audio architecture, sample pitch is governed by clock division against the PAL master frequency (3,546,895 Hz). The sound hardware counter decrements by 1 every clock cycle until it reaches the note period:
Frequency (Hz) = 3546895 / Period
For middle C (note C-3), the PAL period is 428, producing an audio frequency of approximately 8287 Hz:
function noteToPeriod(note: number): number {
if (note < 1) return 0;
const semitoneDiff = note - 25;
const period = Math.round(428 * Math.pow(2, -semitoneDiff / 12));
return Math.max(50, Math.min(6000, period));
}
By computing step = freq / sampleRate, convrtr resamples 8-bit signed PCM samples across any target output sample rate (such as 44.1 kHz or 48 kHz) using smooth linear interpolation.
3. 8-Channel Stereo Panning
To reproduce the authentic acoustic stage of the Amiga, channels are panned across left and right stereo channels according to their Paula hardware channel pairings:
- Left Channels: 0, 3, 4, 7
- Right Channels: 1, 2, 5, 6
A configurable stereo separation parameter allows listeners to adjust the mix from authentic hard-panned stereo separation down to balanced modern headphone listening.
4. 100% Private Offline In-Browser Conversion
convrtr performs all IFF chunk parsing, oscillator stepping, sample interpolation, and WAV packaging directly in client-side TypeScript. Your retro tracker files are processed purely in local memory with zero server uploads.
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 AMF Tracker Modules to WAV: Advanced Module Format Audio Synthesis
Dive into Otto Chrons' Advanced Module Format (AMF) and ASYLUM tracker architecture. Learn how 16-channel DOS module tracking and 8-bit PCM software mixing render into studio-quality WAV audio.
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 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.