ACIDCAT . FILE FORMAT REFERENCE

8SVX Anatomy

IFF 8-bit sampled voiceAmiga, big-endian
rev 2026.07
magic "FORM"
endian big (68k)
container IFF chunks
lineage EA IFF 1985

8SVX is the Amiga's 8-bit sampled-sound format and a direct ancestor of RIFF/WAVE: Electronic Arts' IFF (1985) on the big-endian 68000. A FORM header, form type 8SVX, then chunks — a VHDR voice header (the analogue of WAV's fmt), an optional NAME/AUTH/ANNO text set, and a BODY of 8-bit signed PCM, optionally Fibonacci-delta compressed. ANNO is the Amiga-side ISFT: most files stamp their authoring tool there. Hover a field to light its bytes, click a + for its table. Color marks kind (see the key).

chunk regions

FORM wraps the lot; VHDR and BODY are required, the rest optional. Big-endian sizes, word-aligned with a pad byte on odd lengths — the same atom as RIFF, byte order not reversed.

FORM0x00 . 12 bytes . drawn below
magic"FORM"
sizeu32 BIG-endian = file size - 8 (some writers undercount this by 12; trust the chunk chain and flag the mismatch)
form type"8SVX"
VHDRvoice header . 20 bytes . drawn below

The analogue of WAV's fmt. Sample counts for the one-shot and repeat parts, samples-per-cycle, the playback rate, the octave count, the compression code, and a 16.16 fixed-point volume. See the byte map below.

BODYthe sample data
raw8-bit SIGNED PCM (-128..127), high octave first
Fibonacci-deltawhen sCompression = 1: a 2-byte header then 4-bit deltas indexing a Fibonacci table, 2 samples per byte
octavesctOctave copies, highest octave first; each octave DOWN holds twice the samples of the one above
NAME / AUTHvoice name, author
NAMEthe voice / instrument name, plain text
AUTHauthor credit
ANNO / (c)annotation, copyright

ANNO is the Amiga-side ISFT: ~90% of 8SVX files stamp their authoring tool here (Audio Master, PERFECT SOUND, SoundZAP, MED...). Tool-populated by convention, not rule, so it also carries human stamps. It is the format's authoring-tool tell.

ATAK / RLSEamplitude envelope
ATAKattack envelope: an array of (duration word, 32-bit Fixed dest-volume) pairs
RLSErelease envelope, same EGPoint shape
CHANchannel assignment
channelu32: 2 = left, 4 = right, 6 = stereo (left + right)
FORM header (12 bytes)

Worked example: a voice written by Audio Master.

VHDR voice header (20 bytes)

The register that maps to WAV's fmt. Same file: 9016 Hz, one octave, uncompressed. Hover sCompression for the compression codes.

the shared atom, older than RIFF. 8SVX is the same chunk grammar WAV uses — a 4-byte id, a size, a payload, and a pad byte on odd lengths — but big-endian, six years earlier. Microsoft's RIFF (1991) is literally this reversed for the little-endian PC. The map is one-to-one: FORM→RIFF, VHDR→fmt, BODY→data, ANNO→ISFT, NAME→INAM, AUTH→IART. Learn 8SVX and you have already read WAV.
Fibonacci-delta compression. With sCompression = 1 the BODY is not raw PCM: it opens with a padding byte and a first sample, then each following byte holds two 4-bit codes that index a fixed table [-34,-21,-13,-8,-5,-3,-2,-1,0,1,2,3,5,8,13,21], added to a running accumulator — the positive codes 1,2,3,5,8,13,21 are the Fibonacci numbers, hence the name. 2:1 compression, lossy, and a distinct decoder path — roughly 1 file in 1300 uses it. The VHDR flag is the only signal, and the sample count comes from the header, not the byte count.
ANNO as a provenance surface. Because the tool signs the ANNO, the field yields a fingerprint catalogue: AudioMaster versions split by string spacing ("Audio Master II" spaced vs "AudioMasterIII" unspaced) and field padding; PERFECT SOUND embeds a vendor phone number; SoundZAP a pre-1995 email; Linel's Sound FX truncates mid-word at a fixed buffer size — the truncation point itself a tell. Amiga-side provenance detection starts here.