Vector Base Amplitude Panning (VBAP) /bus/{i}
The root OSC message for controlling a VBAP bus is /bus/{index}, where {index} is an integer starting from 1. To control any of the parameters listed below, you need to append the parameter name to the bus target address.
For example:
/bus/1/spread 50- Sets the spread factor to 50%
VBAP is a method for positioning virtual sound sources using a loudspeaker array. It calculates gains for each speaker based on the desired source position using vector bases.
General Parameters
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /name | string | -- | -- | -- | ✓ |
| /color | [decimal, decimal, decimal, decimal] | 0, 1 | -- | -- | ✓ |
| /lock | boolean | -- | -- | -- | ✓ |
| /trim | decimal | -80, 30 | dB | -- | ✓ |
| /gain | decimal | -60, 12 | dB | -- | ✓ |
| /gain/ramptime | decimal | 1, 60000 | ms | -- | ✓ |
| /mute | integer | 0, 2 | -- | 0 = unmuted, 1 = muted, 2 = muted by solo (read-only) | ✓ |
| /solo | boolean | -- | -- | -- | ✓ |
| /format | string | "HOA", "HOA2D", "Binaural", "Transaural", "KNN", "Angular2D", "LBAP", "Stereo AB", "Stereo XY", "Stereo Pan", "Thru", "VBAP", "VBAP2D", "VBIP", "VBIP2D", "WFS" | -- | -- | ✗ |
| /monitor | boolean | -- | -- | -- | ✓ |
| /reference/xyz | [decimal, decimal, decimal] | -- | -- | -- | ✓ |
| /ramp/time | decimal | 1, 1000 | -- | -- | ✓ |
| /preOrPost | string | "post", "pre" | -- | -- | ✓ |
| /linkedToSpeaker | boolean | -- | -- | -- | ✓ |
Other Parameters
Equalizer
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /equalizer/bypass | boolean | -- | -- | -- | ✓ |
| /equalizer/gain | decimal | -20, 20 | dB | -- | ✓ |
| /equalizer/filter/{i}/active | boolean | -- | -- | -- | ✓ |
| /equalizer/filter/{i}/freq | decimal | 30, 22000 | Hz | -- | ✓ |
| /equalizer/filter/{i}/order | decimal | 2, 20 | -- | -- | ✓ |
| /equalizer/filter/{i}/gain | decimal | -30, 30 | dB | -- | ✓ |
| /equalizer/filter/{i}/q | decimal | 0.25, 100 | -- | -- | ✓ |
Dynamics
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /dynamics/attack | decimal | 0.01, 3000 | ms | -- | ✓ |
| /dynamics/release | decimal | 0, 5000 | ms | -- | ✓ |
| /dynamics/lookahead | decimal | 0, 50 | ms | -- | ✓ |
| /dynamics/compressor/threshold | decimal | -120, 20 | dB | -- | ✓ |
| /dynamics/compressor/ratio | decimal | 1, 100 | -- | -- | ✓ |
| /dynamics/compressor/knee | decimal | 0, 30 | dB | -- | ✓ |
| /dynamics/expander/threshold | decimal | -120, 20 | dB | -- | ✓ |
| /dynamics/expander/ratio | decimal | 0.009, 10 | -- | -- | ✓ |
| /dynamics/makeup | decimal | -40, 40 | dB | -- | ✓ |
| /dynamics/link | string | "multi mono", "link all", "link to 1st" | -- | -- | ✓ |
| /dynamics/bypass | boolean | -- | -- | -- | ✓ |
| /dynamics/reduction | decimal | -- | dB | -- | ✗ |
Levels
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /levels/input/post | boolean | -- | -- | -- | ✓ |
| /levels/input/mode | string | "rms", "peak" | -- | -- | ✓ |
| /levels/output/post | boolean | -- | -- | -- | ✓ |
| /levels/output/mode | string | "rms", "peak" | -- | -- | ✓ |
Speaker
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /speaker/{i}/delay | decimal | 0, 5000 | ms | -- | ✓ |
| /speaker/{i}/gain/db | decimal | -80, 20 | dB | -- | ✓ |
| /speaker/{i}/name | string | -- | -- | -- | ✓ |
| /speaker/number | decimal | -- | -- | -- | ✓ |
Speakers
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /speakers/correction/delay | string | "off", "auto", "manual" | -- | -- | ✓ |
| /speakers/correction/gain | string | "off", "auto", "manual" | -- | -- | ✓ |
| /speakers/aed | array | -- | -- | -- | ✓ |
| /speakers/visible | boolean | -- | -- | -- | ✓ |
Delay
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /delay/bypass | boolean | -- | -- | -- | ✓ |
| /delay | decimal | 0, 5000 | -- | -- | ✓ |
Spread
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /spread | decimal | 0, 100 | % | -- | ✓ |
| /spread/bypass | boolean | -- | -- | -- | ✓ |
| /spread/mode | string | "omni", "directional", "azim", "elev", "x", "y", "z" | -- | -- | ✓ |
| /spread/law | string | "default", "legacy", "fixed-grid-nearlyuniform", "fixed-grid-speakers", "naive" | -- | -- | ✓ |
Divergence
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /divergence/radius | decimal | 0.1, 10 | m | -- | ✓ |
| /divergence/bypass | boolean | -- | -- | -- | ✓ |
Phantom
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /phantom/zenith | boolean | -- | -- | -- | ✓ |
| /phantom/nadir | boolean | -- | -- | -- | ✓ |
remarque
The "phantom" parameter is specific to 3D VBAP bus and is not available for 2D VBAP buses.
View3D
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /view3D/file3D | string | -- | -- | -- | ✓ |
| /view3D/scale | decimal | 0.01, 10 | -- | -- | ✓ |
| /view3D/visible | boolean | -- | -- | -- | ✓ |
| /view3D/label | boolean | -- | -- | -- | ✓ |
| /view3D/vumeter | boolean | -- | -- | -- | ✓ |