Obsidian Onyx - Multiple OSC Devices

Sometimes you need to control multiple banks at the same time in Onyx. The only way to do this is to have multiple OSC devices configured in Onyx, since each device is bound to a single bank.

Multiple Devices = Multiple IPs

Onyx identifies devices by their IP address. This all works great if you have different physical devices on a network, but can be confusing if you are connecting to Onyx via the Loopback interface. Before anything else, we need to set our IPs for each endpoint, even if you're using the Loopback interface.

If you need a step-by-step tutorial to configure multiple IP Addresses for your Loopback interface, please check out this ShowCockpit Academy article:

pageMultiple IP Addresses on a NIC

In this example, we will use the Loopback interface with multiple IPs, one per entity:

  • - Onyx

  • - OSC Device 1

  • - OSC Device 2

Once you have configured the IP Addresses, you're ready to launch Onyx.

Onyx OSC Configuration

General OSC Settings

After launching Onyx, open Settings > Network > OSC

On the "Settings" tab, you will be able to set a OSC port and the network interface.

On this example, we will use the default port 8000 and select the interface that shows our first Loopback IP address

OSC Devices

On the Devices tab, you will find 16 slots ready to be configured. We will use the first two.

  • Device 1

    • IP:

    • Port: 9001

    • Device Space 1

  • Device 2

    • IP:

    • Port: 9002

    • Device Space 2

Device Space: the number defines a synchronization ID. If you want to sync two OSC devices, you can set them to the same Device Space. Since we want them to work in different banks, we need to set different Device Space IDs.

Device Space 0 is synced with the UI (the bank that is displayed in Onyx main window is on Device Space 0).

ShowCockpit Configuration

ShowCockpit can act as an OSC Device for Onyx. If you want to have two OSC devices, you need to add two Onyx OSC elements to your project.

There are a few relevant element options that need to be set:

  • Onyx IP Address: the IP Address that Onyx listens on

  • Outgoing Port: the port set in the Onyx OSC settings

  • Local IP Address: the IP Address of the device - must match the OSC Device IP set in Onyx

  • Incoming Port: must match the device incoming port set in Onyx

For our example:

Device 1Device 2

Local IP Address

Incoming Port



Onyx IP Address

Outgoing Port



Once you have the elements connected, now you just need to map controls (faders, buttons) to each of these elements, as in the usual ShowCockpit workflow, according to your own needs.

Remember that changing OSC device banks must be done by the device itself - you will not be able to see in Onyx in what bank the device is on.

You must, at least, map and trigger a "Change Bank" function of the Onyx - OSC element to set it to a certain Onyx bank. Otherwise, you will be default bank Onyx assigns to your Device Space (usually bank 1).

Last updated