Layer Based Amplitude Panning (LBAP) /bus/{i}
The root OSC message for controlling a LBAP 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%
LBAP extends traditional panning methods by considering multiple layers of speakers, allowing for more complex positioning in 3D space.
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" | -- | -- | ✓ |
Layering
| Parameter | Arguments | Scale | Unit | Comments | Settable |
|---|---|---|---|---|---|
| /layering/type | string | "based on elevation", "based on z" | -- | -- | ✓ |
| /layering/panning/type | string | "vbap2d", "vbip2d" | -- | -- | ✓ |
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 | -- | -- | -- | ✓ |