ICST Ambisonics Tools
The ICST Ambisonics tools are a set of externals for full 3D surround audio processing.
In addition to the DSP-objects capable of encoding and decoding Ambisonics signals up to 11th order, the suite includes a GUI and a trajectory control object for the source control in any surround setup.
Under development and in use since 2003 the tools are freely available and work in 32bit and 64bit architectures on Mac and Windows.
Download the package here: https://www.zhdk.ch/index.php?id=icst_ambisonicsexternals
----------
Institute for Computer Music and Sound Technology ICST
Zurich University of the Arts
Download this tool
The download location seems to have changed to: https://www.zhdk.ch/index.php?id=icst_ambisonicsexternals
updated the tool post
/*j
Also removed. But the library is now available in the package manager.
I'm looking for the contact info to gain access to the source code? Says "source code available on request". Presumably this would contain the C implementation of the following UI for instance?
Hi,
You can contact me here and I'll point you to the current code-repository
jan [dot] schacher [ät] zhdk [point] ch
best
/*j
Hello!
Firstly, thanks a lot for this wonderful toolset!
Not sure if this is the right thread to ask but I was wondering if there is any way to update the sound listener position in addition to changing the sound sources position in 3D as well ?
Hello Shiva,
thank you for your message.
Ambisonics by definition describes the entire sphere of the sound wave-field at the listening position. In order to move the "listening" position in a synthesised sound-field, you offset the source positions the other way before encoding (see attached patch). In order to also rotate the listening "head", you could counter-rotate the sources, again before encoding. But the easiest way is to rotate the Bformat intermediate representation. There are a few vst-plugins that do this (IEM, Kronlachner, Sparta(?), depends on the order). You could also rotate the speaker-definitions at the decoding stage.
hth
/*j
Hi Jasch!
Thanks a lot for your reply and the sample patch! I'll check it out
HI!, the listener position patch is awesome!, I have a question, or two. Should I need to offset the listener position in order to offset the volume where the sources will move? There is no 3D ambisonics GUI?
THX!!
Hola Javier,
Indeed, the listener position IS the centre of the ambisonics sphere. Because our tools encode distance amplitude attenuation before encoding, offsetting the centre with regards to the sources, will not only change their direction incidence but the amplitude of each source as well.
Also, have a look at the new v3 package (from the Max package manager), in particular the distance attenuation subpatch in the [mc.ambiencode~], [mc.ambipanning~] helpfiles, and investigate the [ambipoint] external for affine transforms of the 3D-scene, and finally see the [icst.spline] for a 3D-view patch.
There _is_ a kind of "3D Ambisonics GUI", it's called Jitter --- here I suggest examining closely the jit.node concept and its implementations.
best
/*j
Hey hola!
Amazing information, thx a lot!! I was thinking in using jitter to replicate the ambisonics 2D graph but was wondering if already exists a prefab one.
Muchas gracias!!
Jasch! I already have a patch made, I've looked on what you've mention up here, but I'm not being able to set the volume to only select half of the sphere in the z axis. I would like to "offset it" there is such thing? does moving the listener position moves the volume? I was not able to do it.
THX!!
And also have a silly question, how I can set the points "selected" in the GUI, by code?
amazing tool!
without a patch demonstrating your idea it's hard for me to give an answer.
/*j
by selecting points I presume that you mean making them highlighted?
because the highlight only makes sense when interacting with the mouse in grouped fashion, otherwise you just address them from outside with the ambipoint syntax.
so the answer to your question is no,
lo siento
/*j
Hey Jasch,
Yeah I'm sorry to not to post a patch but is a massive one, I will make an example of what Im trying to do, thx!
Hi,
We've released the first maintenance update for Version 3 and v3.0.1 is available both through the Package Manager && from our own institutional server: https://www.zhdk.ch/en/research/icst/software-downloads-5379/downloads-ambisonics-externals-for-maxmsp-5381
cheers
/*j
Author