AeonWave-HD 64 is similar to Microsoft's XAudio2 or Apple's CoreAudio, but it is multi-platform and more feature-rich. It is a freeware, GPL-licensed, 3D and 4D audio library aimed at the professional audio, multimedia, game, simulation and virtual-reality market supporting Windows 7, Windows 8, Windows 10 and Linux operating systems (Intel and ARM).
Commercial users can obtain a selling exception that exempts them from the obligation to release the code under the GPL when linking against the library.
The inclusion of the Simple DirectMedia Layer 2.0 as a fallback option for audio drivers not directly supported in AeonWave also makes it easier to support MacOS and BSD systems. The software renders audio considerably faster than competing products.
AeonWave not only supports large-distance outdoor scenes but also includes support for indoor sound propagation and sound occlusion.
The software provides a small, easy-to-use, fault-tolerant, and consistent API for the C language. Additionally, there is an even easier-to-use C++ API that exposes all the advantages C++ has to offer. The C++ API also includes a buffer cache to minimize resource usage and offers a simple way to stream background music without requiring the calling program to fill audio buffers on demand. This is achieved using the integrated audio streaming code, which can also be used to read sound buffers, even from a remote location.
The library offers low-latency support by making optimal use of the user's hardware. For instance, it employs automatic load balancing threading when necessary and available (up to 16 cores can be utilized).
There is simultaneous support for stereo and 3D/4D audio. Stereo support is useful for audio mixing and synthesizer applications, while 3D/4D audio support is geared towards simulation and augmented reality solutions
One distinctive feature that sets AeonWave apart is its support for audio frames with sub-mixing capabilities and 3D/4D emitter/audio-frame grouping support. Moving or rotating an audio frame automatically reorients all registered emitters and audio frames along with it. There is no need to orient them one by one. Audio frames also allow for the possibility to set filters or effects for a group of emitters: If an object with multiple sound emitters moves behind a building or structure, then a single frequency filter assigned to its audio frame is sufficient. Audio frames are also used to define sound obstructions and indoor room properties.
Buffers play a crucial role when using AeonWave. Initially, they were designed to store audio data that could be played back anywhere in the scene by attaching them to emitters. Later on, support was added to reconstruct sounds by synthesizing them using basic waveform shapes and adding, mixing, or ring-modulating them. This can dramatically reduce package size, as sounds (such as hazard alarms or telephone rings) no longer need to be shipped as binary files. In the latest code, buffers are also used to set filters and effects. Now, almost all of the sound experience can be taken out of the hands of the developer and placed into the hands of the sound effects specialist.
AeonWave defines all sound properties using filters and effects. Nearly anything can be controlled either by a filter or an effect, ranging from pitch settings, envelope shape, frequency filters to distance attenuation. New in version 3.0 is the option to define filters and effects for any object (mixer, audio frames, or emitters) using AAXS encoded buffers. This results in smaller, more readable code. AAXS files can be retrieved using the sound streaming code provided by the library. This allows you to store them on a remote host, enabling you to tweak sound properties for already installed software without the need to recompile and reinstall the software.
Audio frames are also utilized when the freely available supplemental MIDI file playback code is used to synthesize the complete GS MIDI instrument set. The built-in synthesizer is used to construct the timbre of the instrument, and an audio frame is used to apply all filters and effects required to properly simulate the instrument as a whole. This combination may surpass wave-table synthesis capabilities since it allows interference between notes, as with a real instrument. The timbre can be synthesized using a number of techniques and by applying static filters and effects. This combination allows for creating convincing-sounding instruments, ranging from an acoustic piano, tubular bells, slap bass, string and brass sections, distorted guitars to all kinds of drums and percussion instruments, as well as sound effects like hand clapping, breathing, dripping water, explosions, and many more.