I try to use spat5.spat~ and use vbap3d, but there will be many errors in the max console, and I have no idea how to solve it.
Hi,
These are warning messages, not errors.
The vbap3d algorithm splits the speaker setup into triangles (a.k.a. triplets).
The warning messages tell you that some of the triplets in your setup are “poorly balanced”.
This might be a sign that your speaker layout is ill-suited for vbap. As suggested, inserting a so-called “phantom speaker” might mitigate this issue.
Have a look at spat5.pan~.maxhelp (vbap tab) and spat5.tuto-phantom-1.maxpat for further details.
You can also post your speaker coordinates here.
Regards,
T.
Hi tcarpent,
I use the speaker layout coordinates of c-lab Taipei. At first, I used HOA. Recently I want to try the surrounding effect of vbap3d.
I tried to use the “phantom speaker”, but it seems that the warning message still exists.
Below is my max patch.
clab_vbap.maxpat (54.9 KB)
thanks
Hi,
Below are some 3D views of the vbap triplets (without phantom speakers).
Indeed, some of the triplets are ‘poorly’ oriented or have a smallish surface, as indicated by the warning messages. This means that panning might not be very smooth if you move a virtual source close to these triplets (I think it’s mostly on the lateral side of the room).
Adding phantom speaker would not really help in your case (yet, adding a phantom at nadir would not hurt).
So, VBAP rendering might not be perfect (for this speaker setup), but it’s worth trying it.
Best,
T.
Dear all,
I’m writing since I’m facing exactly the same problem 4 years later, and I’d like to share my experience on it: I’m preparing for a residency next week in C-Lab, Taipei, and indeed, the loudspeaker setup seems to be not 100% suitable for VBAP (it has been designed for HOA). Nevertheless I’d like to try my luck.
My current idea is:
. to remove some of the top-sides speakers (28-29-30 and 34-35-35 on Thibaut’s figure)
. to move virtually most of the top speakers to create a dome configuration.
. adding a phantom speaker at nadir
It looks as follows on the figures below.
I get rid of the error messages. I haven’t tested it yet. For those of you who are curious, I can provide some feedback when I do perform the tests next weeks.
Alexis

Oh yes, I forgot one thing: the “/export/triplets” option to a matlab script is very handy for debugging. Even if one doesn’t have matlab, the script works with GNU octave.
Thank you Alexis for sharing your ideas.
Makes total sense.
Also glad to hear that the exported triplets work in GNU Octave !
Good luck with the C-Lab residency.
Best,
T.