How to Convert Audio to ADX Using FFmpeg

This guide provides a straightforward tutorial on how to transcode various audio files into the ADX format using the powerful command-line tool, FFmpeg. You will learn the basic conversion commands, how to adjust sample rates, and how to configure audio channels to ensure your output files are fully compatible with games and legacy consoles that utilize CRI Middleware’s ADX audio format.

The Basic Conversion Command

ADX is a proprietary audio format primarily used in video games for loop streams and voiceovers. FFmpeg has native support for encoding ADX audio. If you have a standard audio file (such as WAV, MP3, or FLAC) and want to convert it directly to ADX, use the following basic command structure:

ffmpeg -i input.wav output.adx

Specifying Sample Rates and Channels

The ADX format has strict limitations regarding sample rates and channel layouts to maintain compatibility with older hardware like the Sega Dreamcast or PlayStation 2. Most ADX decoders expect a sample rate of either 24000Hz, 32000Hz, 44100Hz, or 48000Hz, and support either mono (1 channel) or stereo (2 channels).

To force these parameters during transcoding, use the -ar (audio rate) and -ac (audio channels) filters:

ffmpeg -i input.mp3 -ar 44100 -ac 2 output.adx

Advanced Encoding Options

If you need to convert a batch of files or fine-tune the quality, keep the following tips in mind:

By using these commands, you can quickly prepare any modern audio file for integration into retro gaming projects and engine-specific sound banks that rely on the ADX format.