VR Audio Toolset

Aspic Audiostack delivers a compatibility layer between multiple advanced VR audio technologies. This audio SDK enables you to create custom audio pipelines in VR applications.

Smoothly route your signal between inputs, outputs and effects. Available modules provide various features, such as audio streaming, multi-listener rendering, binaural or multi-channel spatialization…

Aspic Audiostack (early 2016)

Choose only the features you need

Aspic Audiostack offers a wide range of advanced audio features for limitless possibilities. Moreover, you can pick only what you need thanks to its modular architecture.

The set of available modules, as listed below, is growing at a rapid pace. Feel free and help us choose the next technologies to be integrated!

Focus on the audio experience

Design your pipeline without bothering about low-level considerations. The tool handles complexity for you and provides a compatibility layer between multiple technologies.

Connect inputs, outputs and effects together to easily build new vr audio experiences!

Distributed VR audio with Aspic Audiostack

Here is an illustration of an advanced VR collaborative system relying on Aspic Audiostack.
There are three users in a virtual environment. Multi-listener in-app voice communication is provided with 3d audio.

This system can be easily set up by using the Binaural, RTP, Asio and Multispeaker modules.

Integration samples

Our audio SDK provides plugins for Unity3D and a C/C++ API

This video shows Asio output component in Unity3D. This component detects available asio drivers. You can chose the channel count (ex: 2 for stereo, 4 for first order ambisonic, etc.) and map hardware I/O. The component can be instanciated and configured dynamically from script.

Audiostack is able to synthetize a “Hello” voice. This sample is the first one we use to test if the framework is properly installed.

1
2
3
4
5
6
7
8
9
10
11
12
13
int sourceID = 0, outputID = 1;

AudiostackContext context;

// HelloInput synthetize a "Hello world" voice
context.createInput(sourceID,HelloInput);
context.createOutput(outputID,OpenALOutput,false); // Chose whether output is mono or stereo

// Connect input to output
context.connect(sourceID,outputID);

// Start audio
context.play();

In this sample, we create a collaborative app : send and receive voice over network using codecs such as Opus.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int audioIn=0, voipIn=1, voipOut=2, audioOut=3;

AudiostackContext context;

// Create RTP codec
OpusCodec codec;
codec.setSamplerate(24000);
codec.setBitrate(32000);
codec.setVOIP(true);

// We want to get voip input and listen on audio output
context.createInput(voipIn,RtpInput,codec);
context.createOutput(audioOut,WindowsCoreOutput,false);

// We want to generate a voice and send it over network
context.createInput(audioIn,HelloInput);
context.createOutput(voipOut,RtpOutput,codec);

// Setup RTP ports and address
context.setParameter("source/1/port",9040);

context.setParameter("listener/2/port",9040);
context.setParameter("listener/2/ip_address","192.168.1.100");

context.connect(audioIn,voipOut);
context.connect(voipIn,audioOut);

context.play();

Sources and listeners can be moved at any time using parameters (and OSC)

1
context.setParameter("source/1/position",{src.x, src.y, src.z});

Core module

Contains basic features to perform the most essential tasks. These features include audio file reading, stereo or mono ouput, basic audio effects and microphone capture. The default audio driver used by the core module is OpenAL.

Low latency module

Contains inputs and outputs to address professional audio soundcards. This is the best option to access multiple speakers and headphones or to achieve latencies lower than those of standard operating systems.
Uses ASIO on Windows hosts (ASIO stands for Audio Stream Input/Output). Uses JACK on Linux hosts.

Multispeaker module

Provides spatialization effects for sound rendering over multiple speakers.
Conventional layouts such as 5.1 or 7.1 setups are readily available. A custom 2D or 3D layout can also be selected. The spatialization then relies on the Vector Based Amplitude Panning method.
For custom layouts, a professional soundcard and the Asio module may be required.

OSC module

Provides a mechanism to control the parameters of Audiostack over a network. Remote control is indeed a highly useful feature, for instance when audio rendering is performed on a different machine than the one running the application.
The module uses the Open Sound Control protocol.

Dynamic Reverb module

Uses Aspic engine to obtain realistic sound rendering (occlusion, dynamic reverb).

Binaural module

Performs audio spatialization based on Head-Related Transfer Function (HRTF). This module focuses on computational efficiency rather than accuracy.
Embeds SOFA decoder to load custom HRTFs.

Audio streaming module

Contains everything to stream realtime audio in and out of the application. This can be used to render sound remotely or for in-app voice communication.
The RTP network protocol is used. The audio payload can be uncompressed audio, for instance when used in a local network, or compressed (with either the Opus or Ogg codec) in the case of bandwidth limited applications.

Ambisonics module

This module embeds ambisonics algorithms to encode, decode and convert ambisonics up to third order. The default ambisonic format is ACN SN3D, but streams in other format can easily be converted by the conversion effect (available conversions are detailed in the module documentation).
Streams can then be decoded to binaural or to multi-speaker signals (using VBAP module). All inputs and outputs handling multichannel (file, asio, jack, …) can be used with ambisonics effects.

Multiple integration means

Plugins

Our middleware comes with plugins to enhance the features of popular 3D engines such as Unity3D or Unreal Engine.

Native API

You can also use it directly through a native API for custom integration.

VR audio Server

Aspic Audiostack may also be deployed as a server for remote audio rendering.

Subscribe to our newsletter.

We have stop shipping any Aspic Technologies solutions for a unknown duration. Please register to get informed of products avaibility. Here is the link :

Register