Bryan van der Laan

AIRE

Audio in Real-Time Environments: an audio engine for games and interactive applications, written in Rust.

Oscillator, band-limited

AIRE, short for Audio in Real-Time Environments, is an audio engine for Rust built for games and interactive applications. It sits exactly where my two backgrounds meet: the signal processing I studied in Music Technology, and the systems programming I do now.

It plays WAV, OGG, FLAC and MP3, and streams large files from disk through a decode pool so music never has to be loaded into memory whole. Every sound returns a handle you can control at runtime: volume in decibels, pan, pause, resume and stop. Sounds can be organized into named groups with their own volume and pan, which is how games actually think about audio (music, effects, dialogue).

It also synthesizes sound directly. A band-limited oscillator produces sine, saw, triangle, square and pulse waves without the aliasing a naive implementation would cause, and ADSR envelopes with linear or exponential curves shape them over time. For anything beyond that, you can write your own audio sources and effects.

The whole thing is published on crates.io, documented on docs.rs, and dual licensed under MIT and Apache 2.0, the standard for the Rust ecosystem.