[Image]  APEX AUDIO SYSTEM
Instruction Manual

intro | getting started | conv2aas | example | faq
api : index | general | sfx | mod | misc | mixer


:: What Is It?

The Apex Audio System (AAS) is a sound library for the GBA. It includes a highly efficient mixer, MOD playing routines and support for up to 16 channels. It is designed for developers using a GCC-based development environment.

MIXING RATE 8-32 KHz, optionally dynamic.
NUMBER OF CHANNELS Up to 16.
FEATURES (PER CHANNEL) Looping, pitch and volume control.
MEMORY USAGE ~3.2K IWRAM, ~3.3K EWRAM (includes code and all buffers).

:: How Fast Is It?

AAS includes easily the fastest audio system yet made for the GBA, using an average of only ~1% CPU per active channel at 32 KHz. (Most GBA mixers use at least twice as much CPU power mixing at just 16 KHz!) AAS also supports up 16 channels and a dynamic mixing rate that adjusts automatically depending on the pitch of the sounds being played.

The exact CPU usage varies depending on the configuration, but the average CPU usage for CreamOfTheEarth.mod in different situations is shown below:

Mixing mode Mono Stereo
32 KHz 3.6% 4.1%
32 KHz, dynamic 3.0% 3.2%
24 KHz 3.2% 3.5%
24 KHz, dynamic 3.0% 3.2%
16 KHz 2.7% 3.0%
16 KHz, dynamic 2.7% 3.0%

:: Contact

The sources are hosted on Github: https://github.com/stuij/apex-audio-system

Pull requests are welcome, as are forks of course. If you want to report issues, open an issue on the Github project issue tracker.

For a more realtime interactive experience, join gbadev on Discord. There's a good chance there's one or two people there that have used AAS before.


:: History

Apex Audio System was made by James Daniels of Apex Systems back in 2003 for his GBA game Payback. Until about 2008, the library underwent several revisions, the latest of which was v1.11. At the beginning of 2021, James was so kind to donate the sources to the community. AAS has since been updated to be used with the lastest devkitArm release.

The current release is v1.13.

Changes in v1.13:

Changes in v1.12:


:: Licensing

AAS is now distributed under the MIT license. For licensing terms, see the LICENSE file in the root of this repo or go to http://opensource.org/licenses/MIT

James only had one request when handing over the sources: that users of the library include a credit to Apex Designs. In essence this is now covered by the MIT license. It's up to you how you want to fill this in, but please be respectful of this requirement.