MIDIControl - Control OBS, Soundboard, Twitch chat with MIDI Devices

Free MIDIControl - Control OBS, Soundboard, Twitch chat with MIDI Devices

MIDIControl is an external software (Windows Only), to remote control OBS, act as Soundboard, interact with your GoXLR, send message in Twitch Chat, with any MIDI controller, like APC (from AKAI), Launchpad (from Novation), ...

It support profiles/mapping, so you can switch from one to another, to use your MIDI Controller differently if you want to.

Switch scene, show/hide source, mute/unmute any scene/source, show/hide filter, adjust volume ... by pressing a MIDI Key or using MIDI knobs/slider.


Also, you can play any local audio file (like a soundboard) and send messages in your Twitch chat !


1. Start MIDIControl after plugging your MIDI device. Open it from SysTray
2. In "Options", configure the OBS section options. (the MIDI section should be OK by default for a minimal usage).
3. "Add" a new MIDI Key.
4. Press the MIDI key, it should recognise it, and display it on the "Add MIDI Keybind" window.
5. Select the action(s) you wanna assign to this midi Key. Validate.
6. Repeat steps 3->5 for every MIDI key.
7. Save your preset.
8. Reduce the window if you want to.

0. Open OBS.
1. Start MIDIControl after plugging your MIDI device.
2. Press on your MIDI Keys !

If you have an Android device, you can setup it as a MIDI device, for example with DJ PADS or MIDI Controller (if your device supports MIDI)

MIDIControl forwards MIDI events to another virtual MIDI device, in order other apps have access to this events.
First release
Last update
4.48 star(s) 21 ratings

More resources from Etuldan

Latest updates

  1. Version

    General Updated dependencies Bug Fixes Fix Twitch Login ( 56 ) Stop All Sound ( 32 )
  2. Version

    General Updated dependencies Debug traces removed Bug Fixes Global Audio devices are now...
  3. OBS 28+ compatibility

    Compatible with OBS 28+ ! Twitch chat fully functional also. Thanks again to @jboby93

Latest reviews

Hello there - I've set this all up but having trouble assigning a function to the key.

The program recognises the key from my MIDI keyboard and if I save it without a function it appears in the list - but when I choose to add a function - for example 'Switch scene' I am unable to add it. Nothing happens when I press Add

My scenes don't appear in the dropdown either? Is this right or should I just write the name of the scene?

Apologies for the confusion on my part - this setup looks so slick but I'm just stuck a bit
Awesome utility here. Had an old MIDI Fighter 3D that was collecting dust, and came across this utility for streaming. Works flawlessly for me, except for one thing but I'm not sure if I'm just misunderstanding the tool or if the feature isn't implemented yet.

For hotkeys, I'm only seeing "Main Switch, Lower Third #1, Load Slot #1 on LT #1, etc.". I'm wanting to be able to trigger the Instant Replay hotkey, and some other regular hotkeys in OBS but they aren't listed clearly in MIDI Control. Am I missing something?
It woeks as expected but I have a question. How do the drop-down and save/delete buttons work? Where is this list saved? Ive made several key bindings and they are automatically saved and will be recalled when I restart the program but I cant figure out how to save a 2nd set of bindings and save those as an individual unique list.

I recommended this to a friend and they said that they lost all of their bindings after restart. I dont know how they did this. They said they didnt hit any of the "(-)" buttons which would remove a binding. I couldnt find a place where these entries were stored.

Excellent job on getting this to work but some documentation might be helpful.
You need to save (to the current set) after each keybind modification.
If you wanna add a new set, just type the name (in the dropdown), add binds, and save !
This program has a ton of bells and whistles, overall I have used it for a few months and it nails all the functions I used,
-Doesn't handle handshaking when other programs use the midi, (default midi ports plug and play only allows one program per input/output.
-Has twitch chat integration
-Hooks in to all basic obs triggerables, mute toggle, transitions, volume sliders, audio and video filters
-twitch integration requires fiddling the username case. sometimes requires capitalization, sometimes doesn't (not sure if it's just the way the api handles it)
-uses websocket and is simple to setup
Best midi control for OBS i've tested so far!

But still several issues though:
-Very easy to accidentally delete bindings, or even the whole configuration (With just one wrong click!)
-Unclear when Configuration is saved (I regularly lost all changes after closing).
-Led feedback does not follow websocket updates when controls are changed from OBS!
-Led feedback does not update on startup or config change.
-Strange behaviour when i.e. mutes are controlled from multiple bindings.
-No virtual camera controls.
-MIDIcontrol window does not hide/minimize/restore as expected (strange behaviour).
-Fader controls do not synchronize, (they realy should not change current value until nearly the same current OBS value)

And it would be nice to be able to configure the led feedback colors.
Fantastic utility! Could use some tutorial videos but great anyways.
Great utility, we use it with great succes. One feature I would really appreciate is to add a delay to the transition. Now the midi signal is faster than my video signal so you see a the last slide for a few 100ms.
Great tool, can we inclued on the future update an option to trigger hotkey? I use it for a lower thirds plugin here at obs. Thanks a lot men
Thanks for the review ! Trigger Hotkey is the next feature I wanna add (besides bugfixes). I need some investigation on how it work, and it will be probably no dynamic, but I'll try to add at least vanilla (not already covered by classic usage of MIDIControl) and LowerThirds ones.
Excellent tool, thank you so much! However I can't get the MIDI forward to work with LoopMIDI.
I ignored the loopMIDI port but it won't receive any data that I could forward to other apps.
Any help would be greatly appreciated
The setup should autoconfigure LoopMIDI with 2 virtual devices "MIDIControl Forward IN" and "MIDIControl Forward OUT". If not, you can create them manually on loopMIDI then restart MIDIControl.
awesome job ma man is there any way to make the original launchpad leds to work? would be amazing this is by far one of the best tools