
iAuxSFX: audio engine is the programming library for Audio sub-system for C++ development of games and other software. It comes with modular audio rendering core design and supports playback from various audio formats, file streaming, 3D sound positioning, directional sound, effects and filters, capturing and etc. The core is portable and capable of running on any CPU architecture. SDK provides necessary examples and there is minimalistic open-source C++ interface as an entry point into API.
32/64-bit HD Rendering
iAuxSFX: audio engine uses 32/64-bit software audio rendering that provides exceptional audio quality on most platforms where SIMD CPU extensions are available. On low-end and mobile platforms it utilizes 32-bit processing.
Ambiophonic Surround Sound
iAuxSFX has built-in Ambiophonic R.A.C.E. digital signal processor which widens Stereo and makes it much more spatial. Stereo sound becomes reacher and surronds the listener. Any application which is using stereo assets may benefit from using this feature.
3D Sound
iAuxSFX: audio engine supports 3D sound positioning. It accepts mono, or multi-channel audio sources, supports speaker configurations up to 7.1.
Directional Sound
iAuxSFX: audio engine's 3D audio rendering core supports directional 3D sound. The direction is applied by audio cone which can be set to sound, or listener.
Automatic HF Occlusion
iAuxSFX: audio engine provides automatic occlusion of high-frequencies with built-in low-pass filter in order to improve the perception of 3D environment by listener and simulate natural sound occlusion due to air absorption, listener head position (in case of directional audio cone).
Gapless Playback
iAuxSFX logics supports true, sample accurate, gapless playback of multiple audio streams and provides necessary mechanisms through its API to achive this.
Crossfading
iAuxSFX supports crossfading of multiple streams. Similarly to gapless mode this feature allows to blend two tracks into one during real-time playback. Crossfading is useful for playing background music in games when constant and uninterruped music atmosphere is required.
Formats
General: MP1, MP2, MP3, OGG, FLAC (8,16,24,32-bit), WMA, AC3, AAC, M4A, M4B, M4R, MP4, 3GP, 3G2, MOV, APE, ALAC, WV, MPC, WAV (pcm {8,16,24,32-bit LE}, ima4, ms-adpcm, u-law, a-law), AU (pcm {8,16,24,32,64-bit BE}, u-law, a-law), MPEG, AVI. Modular: MOD, IM, XM, S3M. Voice: SPEEX.
Low-Latency I/O
iAuxSFX: audio engine supports low-latency I/O with audio hardware. Due to the specific design of audio rendering core it can operate even at 1 millisecond latency, of course, if audio hardware allows that. The desired latency can be set individually for each master-mixer.
DSP Network
iAuxSFX: audio engine's rendering core is split between multiple elements - mixers and sounds. Mixers can be interconnected. Sounds are capable of sending audio data to multiple mixers simultaneously. Mixers are routing to other mixers which can do effect processing, resampling, format conversion, data merging.
Asynchronous
iAuxSFX: audio engine's high performance is supported by its asynchronous core design. Each master-mixer is driven by own thread, audio data is streamed from separate thread, static audio buffers are loaded in thread queue, 3D calculations are done by dedicated thread as well. Such complex implementation helps to deliver always stable audio quality to the listener.
Non-Real-Time Processing
iAuxSFX: audio engine's software rendering core supports Non-Real-Time (NRT) processing. NRT allows to render and output to file an audio which has undergone complex effect/DSP chain processing, which would not be possible in real-time due to high CPU load.
Effects
iAuxSFX: audio engine provides implementation of number of popular digital audio filters and effects. Effects can be grouped in chains and applied to sounds and sub-mixers.
VST3
iAuxSFX: audio engine supports VST3 effects and can be used as their host. The supported features are:
- 32/64-bit processing
- GUI front-end
- non real-time processing (NRT)
- multiple effects chaining
- mixing effects with iAuxSFX effects in the same effect chain
Any application, including games, can be powered with high-quality effect implementation delivered by VST3 effect developers.
Capturing
iAuxSFX: audio engine supports audio capturing into file and memory. API allows to apply additional effects (for example, AGC) and filters (for example, High-Pass). Capturing object can be represented by standard sound with its complete functionality, including 3D positioning.
Voice-Chat
iAuxSFX: audio engine is complete voice-chat client-server solution. Supported transport protocols: TCP, UDP. Voice-chat functionality is implemented in several modes:
- Server-mixer (client receives final, mixed audio):
- Lowest network bandwidth usage
- Lowest CPU and RAM consumption
- Speaker will hear self
- only single sound object
- Client-mixer (client receives audio data from other clients which is routed through the server):
- Moderate network bandwidth usage
- Higher CPU and RAM consumption
- Speaker is able not to hear self
- Each party represented by individual sound object
Plugin Extensible
iAuxSFX: audio engine's functionality can be extended with plugins which can provide support for additional audio formats and specific hardware.
Occlusion Culling
iAuxSFX: audio engine implements occlusion culling system for 3D sound objects. Its role is to remove 3D sounds from rendering process automatically in order to decrease CPU and RAM consumption. The system is hybrid and affects sounds on object level and during rendering process.
Lua Scripting
iAuxSFX: audio engine supports additional Lua scripting of sound events and parameters. Lua scripts can be attached to sounds, sound banks and globally to the whole system. Valuable feature of Lua scripting - randomization of sound parameters during application run-time.
Sound Banks
iAuxSFX: audio engine supports sound banks which may contain compressed and uncompressed audio data. Sound banks can additionally be customized with Lua scripts which are encapsulated along with audio data inside the sound bank file.
Multi-Instancing
iAuxSFX: audio engine provides sound multi-instancing feature which can be valuable for the game applications with short, multiple and frequent sound events, like shooting, jumping and similar. Besides common technique Play-Stop-Play... multi-instancing feature allows to set the number of simultaneously heard instances of the same sound. When limit is reached instances are reused in FIFO order.
Features
- 32/64-bit real-time rendering in software
- Low-latency audio I/O
- Non-Real-Time (NRT) mode
- Automatic real-time occlusion culling of sound objects and their audio streams
- Shared static audio buffers
- Speaker setup: up to to 7.1
- Effects (software): Chorus, Distortion, Echo, Flanger, Phaser, Pitch shifter, Ring modulator, Equaliser, Compressor, AGC, ReverbI3DL2
- Filters (software): Low Pass, Low Pass Occlusion, High Pass, High Pass Occlusion, Band Pass, Band Stop 'notch', Peaking EQ, Low Shelf, High Shelf, High Pass Butterworth, Low Pass Butterworth, Band Pass Butterworth, Band Stop Butterworth (2-nd order)
- 3D sound
- Directional sound with audio cones
- Sound banks
- Lua scripting of sound events and parameters
- Asynchronous core
- Capturing
- Sound multi-instancing
- Additional formats and drivers by plugins
- Interface: C++ with inline documentation of functions, interfaces, parameters
- Precompiled binary: Microsoft Visual C++, GNU Compiler Collection (GCC), Intel C/C++
- Platform:
- PC: Microsoft Windows (XP SP2, Vista, 7), Linux, Apple Mac OS X
- Mobile: Google Android, Apple iOS, Palm/HP webOS, Microsoft Windows Mobile 6/6.5, Samsung bada OS*
- Console: available by request


