A library for decoding ADX audio files.
LibADX is a library for decoding ADX audio files using the KallistiOS development environment, intended for use only on the Sega Dreamcast game console.
ADX is a proprietary audio container and compression format developed by CRI Middleware specifically for use in video games; it is derived from ADPCM but with lossy compression. Learn more here.
This library features full implementation of the ADX looping function.
The available functions include play
, pause
, stop
and restart
.
This library is intended to be used as a KallistiOS Port (kos-ports
) but
it can be used as a KallistiOS add-on as well.
This library can be installed using 2 ways:
- Using the
libADX
KallistiOS Ports (inkos-ports
); - Cloning this repository directly in your
${KOS_BASE}/addons
directory. In that case you just have to enter this directory and build the library withmake install
.
An example using this library is located here:
$KOS_BASE/examples/dreamcast/sound/hello-adx
To encode ADX files, you can use radx_encode.
If needed, you can uninstall the library by entering make clean
.
This library was initially made for the Dreamcast Media Center application that can be found here.
- Josh Pearson (PH3NOM): Decoder algorithm optimized for stereo streams; and of course LibADX itself.
- BERO: Decoder algorithm, written
for the
adx2wav
utility. - Atsushi Yamazaki: CRI ADX reverse engineering, which is available here.
- Headshotnoby and Ian Micheal: Small fix for modern KallistiOS.
- Mickaël Cardoso (SiZiOUS): Small refactoring.
This library is completely free to modify and or redistribute; see the LICENSE file for details.