Skip to content

sega-dreamcast/libadx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibADX

A library for decoding ADX audio files.

Introduction

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.

Installation

This library can be installed using 2 ways:

  1. Using the libADX KallistiOS Ports (in kos-ports);
  2. Cloning this repository directly in your ${KOS_BASE}/addons directory. In that case you just have to enter this directory and build the library with make install.

Usage

An example using this library is located here:

$KOS_BASE/examples/dreamcast/sound/hello-adx

To encode ADX files, you can use radx_encode.

Uninstallation

If needed, you can uninstall the library by entering make clean.

Acknowledgments

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.

License

This library is completely free to modify and or redistribute; see the LICENSE file for details.