The Clarkinou Sound System

This is my current project. The Clarkinou Sound System (CSS in short) is a sound engine for GBA, entierly written in C.

What it is, what it is not.

The CSS is a sound engine. It provides, by default, 4 channels of sound output mixed together, each able to play a mono sample with a given volume, panning, pitch, and a basic forward-loop, which can change dynamically during the sound playing. It uses 8-bit signed PCM data.

The CSS is not a modplayer. There is some kind of "lousy modplaying" functionnality implemented, but this is pre-alpha for now, and no tools are provided to convert modfiles to the CSS internal format.

The CSS is simple to use : after initialization, there is no need to synchronize it with, for example, the VBlank interrupt. It works asynchronously.

The CSS works (and has only been tested) on real hardware.

The CSS is written in C and has an extensive documentation, as well as some algorithm descriptions (check the README file). It should be easy to understand and to modify.

The CSS is not a professionnal, optimized work. Peculiary, it won't ever contain any assembly code. 4 channel-playing take around 20% of the GBA CPU time. It sucks. I know.

The CSS is open-source and released under LGPL, that means you can incorporate it into whatever project you want, even a closed-source one (are you so afraid of releasing your code ?). You are very welcome to contribute to it.

And of course, the CSS is not finished... Check the very comprehensive README for details.

Download

There you can download either the source of the library (with the demo included) or the demo that I made out for a friend out of it.