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
Jan M
1月 28 2015 | 10:55 午前
The download location seems to have changed to: https://www.zhdk.ch/index.php?id=icst_ambisonicsexternals
jasch
2月 01 2015 | 3:35 午後
updated the tool post
/*j
Leon Van Bokhorst
5月 22 2017 | 10:36 午前
Also removed. But the library is now available in the package manager.
jasch
11月 21 2017 | 9:34 午前
Nathan Argetsinger
6月 04 2019 | 12:03 午前
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?
jasch
6月 04 2019 | 6:43 午前
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
Shiva Kannan
11月 30 2020 | 12:57 午前
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 ?
jasch
11月 30 2020 | 8:09 午前
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
Shiva Kannan
12月 01 2020 | 4:18 午後
Hi Jasch!
Thanks a lot for your reply and the sample patch! I'll check it out
JAVIER ROJAS
4月 12 2021 | 5:32 午前
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!!
jasch
4月 12 2021 | 7:09 午前
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
JAVIER ROJAS
4月 12 2021 | 7:36 午前
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!!
JAVIER ROJAS
4月 12 2021 | 6:58 午後
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!!
JAVIER ROJAS
4月 12 2021 | 7:04 午後
And also have a silly question, how I can set the points "selected" in the GUI, by code?
amazing tool!
jasch
4月 13 2021 | 6:28 午前
without a patch demonstrating your idea it's hard for me to give an answer.
/*j
jasch
4月 13 2021 | 6:34 午前
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
JAVIER ROJAS
4月 13 2021 | 6:37 午前
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!
jasch
6月 01 2021 | 4:23 午後
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