kronihias / ambix

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
GNU General Public License v2.0
237 stars 34 forks source link

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

(1) http://iem.kug.ac.at/fileadmin/media/iem/projects/2011/ambisonics11_nachbar_zotter_sontacchi_deleflie.pdf

This software uses the JUCE C++ framework, which is under GPL license. More information: http://www.juce.com

other libraries being used: Eigen (MPL2, http://eigen.tuxfamily.org), fftw under Linux and Windows (GPL, http://www.fftw.org) libzita-convolver3 optional for Linux (GPL v3)

this software package goes well together with the mcfx - multichannel cross plattform audio plug-in suite: http://www.matthiaskronlachner.com/?p=1910

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

prerequisites for building

Install LINUX dependencies (Debian, Ubuntu):

sudo apt install libasound2-dev libjack-jackd2-dev \
    ladspa-sdk \
    libcurl4-openssl-dev  \
    libfreetype6-dev \
    libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
    libwebkit2gtk-4.0-dev \
    libglu1-mesa-dev mesa-common-dev \
    libfftw3-dev \
    libzita-convolver3 \
    libzita-convolver-dev \
    libeigen3-dev

Install MacOSX dependencies (through MacPorts):

sudo port install eigen3-devel

Install Windows dependencies

getting the dependencies for Windows is a little bit more tricky. you have to get fftw3 and Eigen.

howto build ambix yourself:

TERMINAL:

git submodule init
git submodule update
mkdir build
cd build
ccmake ..

then

make

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

VST installation folders:

LV2 plug-in

known problems

http://iaem.at/Members/zotter/publications/2014_KronlachnerZotter_AmbiTransformationEnhancement_ICSA.pdf

http://www.matthiaskronlachner.com/wp-content/uploads/2013/01/Kronlachner_Master_Spatial_Transformations_Mobile.pdf

http://www.matthiaskronlachner.com/wp-content/uploads/2013/01/kronlachner_aes_studentdesigncompetition_2014.pdf

changelog

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, Sebastian Grill, the surrsound and linux audio community - to be continued...

author

2013-2024 Matthias Kronlachner

m.kronlachner@gmail.com www.matthiaskronlachner.com