Spatial Audio Real-Time Applications (SPARTA)
An open-source VST audio plug-in suite for spatial audio production, reproduction and visualisation
AboutSPARTA is a collection of flexible VST audio plug-ins for spatial audio production, reproduction and visualisation, developed primarily by members of the Acoustics Lab at Aalto University, Finland.
• Download links of current and past versions can be found here.
• The suite has been formally presented in this publication, with the source code made available here (GPLv3 license).
• The SPARTA installer also includes the COMPASS suite, the HO-DirAC suite, CroPaC Binaural Decoder, and the HO-SIRR room impulse response renderer. These plug-ins employ parametric processing and are signal-dependent, aiming to go beyond conventional linear Ambisonics by extracting meaningful parameters over time and subsequently employing them to map the input to the output in a more informed manner.
• For the curious researchers and/or spatial audio developers: note that the plugins included in the SPARTA installer are all built using the open-source Spatial_Audio_Framework (SAF).
List of plug-ins included in the SPARTA installerThe SPARTA suite:
• sparta_ambiBIN – A binaural ambisonic decoder (up to 7th order) with a built-in SOFA loader and head-tracking support via OSC messages. Includes: Least-Squares (LS), spatial re-sampling (SPR), time-alignment (TA), and magnitude least-squares (Mag-LS) decoding options.
• sparta_ambiDEC – A frequency-dependent loudspeaker ambisonic decoder (up to 7th order) with user specifiable loudspeaker directions (up to 64), which may be optionally imported via JSON configuration files. Includes: All-Round (AllRAD), Energy-Preserving (EPAD), Spatial (SAD), and Mode-Matching (MMD) ambisonic decoding options. The loudspeaker signals may also be binauralised for headphone playback.
• sparta_ambiDRC – A frequency-dependent dynamic range compressor for ambisonic signals (up to 7th order).
• sparta_ambiENC – An ambisonic encoder/panner (up to 7th order), with support for up to 64 input channels; the directions for which may also be imported via JSON configuration files.
• sparta_ambiRoomSim – A shoebox room simulator based on the image-source method, supporting multiple sources and ambisonic receivers..
• sparta_array2sh – A microphone array spatial encoder (up to 7th order), with presets for several commercially available A-format and higher-order microphone arrays. The plug-in can also present objective evaluation metrics for the currently selected configuration.
• sparta_beamformer – A spherical harmonic domain beamforming plug-in with multiple beamforming strategies (up to 64 output beams).
• sparta_binauraliser – A binaural panner (up to 64 input channels) with a built-in SOFA loader and head-tracking support via OSC messages.
• sparta_decorrelator – A simple multi-channel signal decorrelator (up to 64 input channels).
• sparta_dirass – A sound-field visualiser based on re-assigning the energy of beamformers. This re-assigment is based on DoA estimates extracted from “spatially-constrained” regions, which are centred around each beamformer look-direction.
• sparta_matrixconv – A basic matrix convolver with an optional partitioned convolution mode. The user need only specify the number of inputs and load the filters via a wav file.
• sparta_multiconv – A basic multi-channel convolver with an optional partitioned convolution mode. Unlike “MatrixConv”, this plug-in does not perform any matrixing. Instead, each input channel is convolved with the respective filter; i.e. numInputs = numFilters = numOutputs.
• sparta_panner – A frequency-dependent 3-D panner using the VBAP method (up to 64 inputs and outputs).
• sparta_powermap – A sound-field visualisation plug-in based on ambisonic signals as input (up to 7th order), with PWD/MVDR/MUSIC/Min-Norm options.
• sparta_rotator – A flexible ambisonic rotator (up to 7th order) with head-tracking support via OSC messages.
• sparta_sldoa – A frequency-dependent sound-field visualiser (up to 7th order), based on depicting the direction-of-arrival (DoA) estimates derived from spatially localised active-intensity vectors. The low frequency estimates are shown with blue icons, mid-frequencies with green, and high-frequencies with red.
• sparta_spreader – An arbitrary array (e.g. HRIRs or microphone array IRs) panner with coherent and incoherent spreading options.
The COMPASS suite:
• compass_binaural – A binaural ambisonic decoder (up to 3rd order input) based on the parametric COMPASS model, with a built-in SOFA loader and head-tracking support via OSC messages.
• compass_binauralVR – Same as the compass_binaural plugin, but also supporting listener translation around the receiver position and support for multiple simultaneous listeners.
• compass_decoder – A parametrically enhanced loudspeaker ambisonic decoder (up to 3rd order input).
• compass_gravitator – A parametric sound-field focussing plug-in.
• compass_sidechain – A plug-in that manipulates the spatial properties of one Ambisonic recording based on the spatial analysis of a different recording.
• compass_spatedit – A flexible spatial editing plug-in.
• compass_tracker – A multiple target acoustic tracker which can optionally steer a beamformer towards each target.
• compass_upmixer – An Ambisonic upmixer (1-3rd order input, 2-7th order output).
The HO-DirAC suite:
• hodirac_binaural – A binaural ambisonic decoder (up to 3rd order input) based on the parametric HO-DirAC model, with a built-in SOFA loader and head-tracking support via OSC messages.
• hodirac_decoder – A parametrically enhanced loudspeaker ambisonic decoder (up to 3rd order input).
• hodirac_upmixer – An Ambisonic upmixer (1-3rd order input, 2-7th order output).
• cropac_decoder – A binaural 1st order ambisonic decoder based on the parametric CroPaC model, with a built-in SOFA loader and head-tracking support via OSC messages.
• HOSIRR – An Ambisonic room impulse response (RIR) renderer for arbitrary loudspeaker setups, based on the Higher-order Spatial Impulse Response Rendering (HO-SIRR) algorithm;
• Many optimisations for the internal signal processing (especially for the compass plug-ins)
• Some improvements for compass_upmixer (increased internal spatial grid density)
• Some bug fixes and minor improvements all round