Artikelnavigation

ambiX v0.2.3 – Ambisonic plug-in suite

I am happy to finally release my cross-platform Ambisonic processors useable as VST/LV2 plug-ins or standalone application under Windows, Mac OSX and Linux. They can be used in flexible hosts like Reaper, Ardour, MaxMSP, Bidule or as standalone applications with Jack.

The plug-ins can be used to produce 3D Ambisonic content or do post production on recordings. (eg. Soundfield or Eigenmike® microphone recordings)
The Ambisonic order is variable and can be choosen at compile time. A practical limitation for Reaper is 7th order due to the 64 channel limit. The processors use the ambiX convention (full 3D, ACN channel ordering, SN3D normalization)

Currently there is no preset generator included, you have to generate your decoding matrix with other tools. For example with the Ambisonic Decoder Toolbox by Aaron Heller using Matlab/Octave: [Source repo] [LAC Article].

Readthis article from the AES Design competition for some informations regarding the plug-ins!

This software was developed during the work on my master thesis at the Institute of Electronic Music and Acoustic Graz. [ IEM ]

ambiX Ambisonic plug-in suite
==========

> cross-platform Ambisonic VST, LV2 plug-ins with variable order for use in Digital Audio Workstations like Reaper or Ardour or as Jack standalone applications.
> The plug-in suite use the ambiX *(1)* convention (ACN channel order, SN3D normalization, full periphony (3D)) except the sqrt(1/4pi) factor in equation 3.
> these plug-ins use a recursive implementation of the spherical harmonics, therefore the maximum Ambisonic order is defined at compile time. the practical maximum order is rather defined by the hosts maximum channel count (N+1)^2 or your CPU power

plug-in reference:
———-
> some information about the software can be found here: http://lac.linuxaudio.org/2013/papers/51.pdf, http://iaem.at/Members/zotter/publications/2014_KronlachnerZotter_AmbiTransformationEnhancement_ICSA.pdf

* ambix_binaural – binaural decoder with various loudspeaker setups in real world studios/venues

* ambix_decoder – same as binaural decoder but without the convolution, the loudspeaker signals are sent directly to the outputs (single band decoding)
* presets for ambix_binaural (including impulse responses) and ambix_decoder are located in the folder ambix_binaural/Presets (or available as separate download) and should be copied in following folders
* Windows 7,8: C:\Users\username\AppData\Roaming\ambix\binaural_presets\
* MacOS: ~/Library/ambix/binaural_presets/
* Linux: ~/ambix/binaural_presets/

* ambix_converter – convert between different ambisonic standards on the fly (include different standards in one project), also between 2D/3D

* ambix_widening – frequency dependant rotation around the z-axis, use this for source widening or creating diffuse early reflections, article: http://dx.doi.org/10.14279/depositonce-12, Created with help of Franz Zotter and Matthias Frank

currently not as developer package available: http://soxr.sourceforge.net

optional: libfftw3-dev

Install MacOSX dependencies (through MacPorts):
————–

*$ sudo port install liblo eigen3-devel*

optional: fftw-3-single

Install Windows dependencies
————–
*getting the dependencies for Windows is a little bit more tricky. you have to get liblo, pthreads, libsoxr and Eigen. liblo is not available as prebuilt version, therefore you have to build it by yourself*

howto build ambix yourself:
————–

– copy the Steinberg VST 2.4 SDK into the folder *mcfx/vstsdk2.4* (do to legal reasons those can not be included here)

– use cmake gui or cmake/ccmake from terminal:

– adjusts the various parameters to your needs, make sure the libraries are found

**TERMINAL:**

– create a folder in the *ambix* folder eg. *BUILD*

*ambix/BUILD> $ ccmake ..*

– adjust parameters

then
*ambix/BUILD> $ make*

*(if you have a multicore processor you can speed up the make process by using make -j #CPUCORESx1.5)*

– find the binaries in the *ambix/BUILD/_bin* folder and copy to system VST folder

– go to the folder *lv2-ttl-generator* and **> make** for compiling the tool *lv2_ttl_generator*

– go to the _bin folder (eg. *ambix/BUILD/_bin* ) and execute the script *> ./../../lv2-ttl-generator/generate-ttl.sh*
this will generate all needed .tll files, afterwards you can copy all .lv2 folders from *ambix/BUILD/_bin/lv2* to /usr/lib/lv2

known problems
———–
* documentation missing – for now you can check this:

thanks to
———–
several people and institutions contributed to this software in one or another way, i would like to name them here without particular order: Institute of Electronic Music and Acoustics Graz, Franz Zotter, Winfried Ritsch, Martin Rumori, Florian Hollerweger, Peter Plessas, IOhannes Zmölnig, Thomas Musil, Gerriet K. Sharma, Matthias Frank, Fons Adriaensen, Jörn Nettingsmeier, Filipe Coelho (DISTRHO project), Music Innovation Studies Centre of the Lithuanian Academy of Music and Theatre, Ricardas Kabelis, Mantautas Krukauskas, Tadas Dailyda, the surrsound and linux audio community – to be continued…