Controlling OBS with a MIDI device

This tutorial describes how to use ShowCockpit to control OBS from MIDI devices

1. Configure OBS

To control OBS remotely, we will use a free open-source plugin called OBS-Websocket. The first step is to download it and install, following the instructions on the link.

Then, open OBS and you should see a new option under the Tools menu called WebSockets Server Settings.

Click this option and you will be presented the following window..

You will need to check the option "Enable WebSockets server". If you want to enhance security, you can enable the authentication and provide a password. You should be able to leave the port at the default value 4444.

2. Add an OBS element in ShowCockpit

On the Elements section, click the Add button to add an OBS element to the project:

  • Video > OBS > OBS - Websocket

Change the element Options

  • IP Address: the IP address of the computer running OBS (leave 127.0.0.1 if you are running in the same computer as ShowCockpit)

  • Port: must match the port number defined in Step 1

  • Password: must match the password defined in Step 1, or leave empty if not using authentication

Enable the Element

Click the toggle buttons on the element to enable it.

3. Add MIDI device element

Use the Add button again to add your MIDI device element through External Control > MIDI. Currently, RD/ShowCockpit has out-of-the-box support for multiple MIDI devices - check out the complete compatibility list here.

If your device is not listed, you will need to use the Generic MIDI driver and map your device controls manually.

When using a specific MIDI device driver, you can skip to Step 5.

Set Element Options

After adding the element, make sure that the correct device is selected under both Input Device and Output Device options.

Enable the Element

Finally, click the toggle button on the MIDI device element to enable it.

4. Learn MIDI Controls (Generic MIDI only)

In case you selected the Generic MIDI driver, now you need to "teach" this driver what controls (faders, buttons and encoders) your device has. For the officially supported MIDI devices, controls are automatically mapped, so you can skip to the next step.

Double-click the Generic MIDI element to open its window - you will start by mapping the Faders. Click on Enable Learn on the top-right to start listening to MIDI input.

  • Move, one-by-one, all Faders on your MIDI device. They will be added to the Faders list.

  • To map the Buttons, click on Buttons (above the table) and repeat the procedure now for all your device buttons.

  • Finally, map your Encoders by clicking on Encoders and repeat the procedure for all the encoders.

You can now close the Generic MIDI window by clicking Back to Elements or clicking on any menu button.

5. Mapping

Open the Mapping section on the Main Menu.

This section is divided into 3 columns, from left to right:

  • Functions

  • Parameters

  • Controls

Select the OBS - Websocket element on the Functions column and select a function (for example, "Scene"). When you select the function, the button will be highlighted and the second column will have the parameters for the function. In this case, you can type the scene name you want to switch to.

Select the Generic MIDI element on the Controls column, open the Buttons list and click on one of the buttons to assign the function.

If you now physically click the button you have just assigned, the mapped scene on OBS should be triggered.

Repeat the process for all desired controls and functions.

Last updated