Convert Amiga 8SVX Audio Files Using FFmpeg

This guide provides a straightforward walkthrough on how to convert legacy Commodore Amiga 8SVX (8-bit Sampled Voice) audio files into modern formats like WAV or MP3 using the FFmpeg command-line tool. You will learn the exact commands needed to decode these retro formats, handle potential sample rate issues, and batch-convert multiple files efficiently to preserve vintage Amiga audio on modern systems.

Understanding Amiga 8SVX Files

The 8SVX (8-Bit Sampled Voice) format was developed by Electronic Arts in 1985 for the Commodore Amiga. It is a subformat of the IFF (Interchange File Format) container. Because these files store 8-bit audio (often with Fibonacci delta compression), modern media players cannot play them natively.

FFmpeg has built-in decoders (8svx_fib and 8svx_exp) that can read these files and transcode them without requiring external Amiga emulators.

Basic Conversion to WAV

To preserve the exact original quality of the 8-bit audio, converting to an uncompressed WAV file is highly recommended. Open your terminal or command prompt and run the following command:

ffmpeg -i input.8svx output.wav

If your Amiga file uses the .iff or .svx extension instead of .8svx, the command remains the same:

ffmpeg -i input.iff output.wav

Converting to MP3

If you want to convert the retro file into a highly compatible, compressed MP3 format, run this command:

ffmpeg -i input.8svx -b:a 192k output.mp3

Resampling for Modern Players

Amiga audio files often use unusual, non-standard sample rates (such as 8363 Hz or 16726 Hz) based on the Amiga’s custom Paula sound chip. Some modern audio hardware or software players may glitch when playing files with these low sample rates.

To fix this, you can resample the audio to a standard rate like 44.1 kHz during conversion:

ffmpeg -i input.8svx -ar 44100 output.wav

Batch Converting Multiple 8SVX Files

If you have an entire directory of 8SVX files to convert, you can automate the process using a simple command-line loop.

On Windows (Command Prompt):

for %i in (*.8svx) do ffmpeg -i "%i" -ar 44100 "%~ni.wav"

On macOS / Linux (Terminal):

for i in *.8svx; do ffmpeg -i "$i" -ar 44100 "${i%.8svx}.wav"; done