Extract Dreamcast ADX Audio with FFmpeg

This guide provides a straightforward, step-by-step tutorial on how to extract and convert vintage Sega Dreamcast ADPCM (.adx) audio files into modern, playable formats like WAV or MP3 using the powerful command-line tool FFmpeg. You will learn the exact commands needed to decode these retro game audio files quickly and preserve their original quality.

What is an ADX File?

The ADX format is a proprietary audio container developed by CRI Middleware, famously used in Sega Dreamcast games (and subsequent console generations) to store background music and voice tracks. Because FFmpeg contains native decoders for ADX ADPCM audio, you do not need any specialized retro gaming plugins to perform the extraction.

Step 1: Install FFmpeg

Before proceeding, ensure you have FFmpeg installed on your system: * Windows: Download the builds from the official FFmpeg website and add the bin folder to your system’s PATH. * macOS: Install via Homebrew using brew install ffmpeg. * Linux: Install via your package manager (e.g., sudo apt install ffmpeg).

Step 2: Extract ADX to Lossless WAV

To preserve the exact quality of the original Dreamcast audio, it is highly recommended to extract the ADX file into a lossless WAV format.

Open your terminal or command prompt, navigate to the folder containing your .adx file, and run the following command:

ffmpeg -i input.adx output.wav

Replace input.adx with the name of your Dreamcast file and output.wav with your desired output filename. FFmpeg automatically detects the ADX codec and handles the decompression into standard PCM audio.

Step 3: Convert ADX to Compressed MP3

If you prefer a smaller file size for immediate playback on mobile devices or media players, you can convert the ADX file directly to an MP3. Run this command:

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

How to Batch Convert Multiple ADX Files

Sega Dreamcast game discs often contain dozens of .adx files. Instead of converting them one by one, you can batch process the entire folder.

For Windows (Command Prompt):

for %i in (*.adx) do ffmpeg -i "%i" "%~ni.wav"

For macOS / Linux (Terminal):

for f in *.adx; do ffmpeg -i "$f" "${f%.adx}.wav"; done

These loop commands scan the directory for any file ending in .adx and automatically convert them into individual .wav files while retaining their original names.