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.

----------

Institute for Computer Music and Sound Technology ICST
Zurich University of the Arts

Jan M's icon

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's icon

jasch

2月 01 2015 | 3:35 午後

updated the tool post

/*j

Leon Van Bokhorst's icon

Leon Van Bokhorst

5月 22 2017 | 10:36 午前

Also removed. But the library is now available in the package manager.

jasch's icon

jasch

11月 21 2017 | 9:34 午前

The current URL is https://www.zhdk.ch/5381
cheers

/*j


Nathan Argetsinger's icon

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's icon

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's icon

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's icon

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

Max Patch
Copy patch and select New From Clipboard in Max.

listening_position_offset.maxpat
Max Patch


Shiva Kannan's icon

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's icon

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's icon

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's icon

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's icon

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's icon

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's icon

jasch

4月 13 2021 | 6:28 午前

without a patch demonstrating your idea it's hard for me to give an answer.

/*j

jasch's icon

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's icon

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's icon

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

Published

2014年5月5日 14:56
Creative Commons License

Author