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.wavIf your Amiga file uses the .iff or .svx
extension instead of .8svx, the command remains the
same:
ffmpeg -i input.iff output.wavConverting 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.mp3Resampling 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.wavBatch 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