← hed0rah.github.io
ACIDCAT . FILE FORMAT REFERENCE

Audio File Anatomy

16 formatsinteractive
rev 2026.07
view byte / bit maps
verb hover . click
source acidcat parsers

Byte-level references for the formats acidcat parses. Each page lays a real file out field by field. Hover any field to light its exact bytes or bits and read the decode; click a field marked + to open its lookup table. Every example byte is verified against acidcat's own walker.

value (read from a table) flag bit offset / reserved color marks kind, like syntax highlighting

Formats

MP3 / MPEG audio
Not a container: an ID3v2 tag, self-describing MPEG frames, an ID3v1 trailer. The 4-byte frame header as a bit-register, plus the Xing/LAME VBR header.
bit + byte
WAV / RIFF
A chunked container. The fmt and the namesake ACID loop chunk drawn byte by byte; smpl, cue, LIST, and the extensible fmt for surround and high bit depths.
byte map
FLAC
Metadata blocks then audio frames. The block header as bits, the bit-packed STREAMINFO, and the one little-endian trap in an otherwise big-endian format.
bit + byte
AIFF / AIFC
Apple's big-endian IFF. The COMM chunk, with its sample rate stored as an 80-bit IEEE-754 extended float that struct cannot unpack, reassembled by hand.
byte map
MIDI
An MThd header and MTrk tracks. The division field expanded bit by bit, where the top bit flips ticks-per-quarter into SMPTE frame timing.
bit + byte
RMID
A Standard MIDI File wrapped in a RIFF container. Little-endian RIFF framing drawn byte by byte around the big-endian SMF it carries in a data chunk.
byte map
MP4 / M4A
ISO base media: a tree of nested boxes, big-endian. The box header and ftyp brand block drawn byte by byte, plus the moov/trak/mdat hierarchy.
byte map
OGG
Xiph's page-and-segment container, little-endian. The 27-byte page header, the header-type flag bits, and the lacing model that frames packets.
bit + byte
Bitwig .bwpreset / .bwclip
A length-prefixed tagged tree with an embedded zip of assets. The BtWg meta block, device parameters as big-endian f64, and the note-clip pitch lanes.
byte map
Native Instruments
The NISound hsin container (Massive, Absynth, Kontakt), plus .ksd (zlib+XML) and .nksf (RIFF+MessagePack). Recursive frames with cascading size fields.
byte map
Vital
A bare JSON preset. The synth version, the wavetable and LFO inventory, the effects chain, and the modulation matrix of source to destination routings.
json
NCW / NI Compressed Wave
Native Instruments' compressed audio: the header, the per-block deltas, and the bit-packing that stores Kontakt sample content.
byte map
VST FXP
A VST 2 preset. The 28-byte big-endian CcnK header byte by byte: the preset kind, the plugin FourCC (XfsX = Serum), and the opaque-chunk vs float-params split.
byte map
ReCycle RX2
A sliced loop. The big-endian CAT/REX2 IFF group drawn byte by byte, and the transient slice markers hidden in a nested SLCL sub-group.
byte map
Bitwig Wavetable
A vawt container: a 12-byte little-endian header (wave length, wave count, data offset) byte by byte, then raw int16 samples, one single-cycle wave after another.
byte map
Bitwig Multisample
A ZIP: a multisample.xml zone map plus the member WAVs. The zone bindings (key range, root note, velocity, loop) and Bitwig's mismatched-CRC quirk.
zip / xml