Single port: https://atmanactive.github.io/webmidi-rtc-transport/
Multi port: https://atmanactive.github.io/webmidi-rtc-transport/multi
The purpose of this web app is to connect several devices acros internet via MIDI in order to synchronize MIDI Transport Control (Mackie) signals so when a DAW goes into play mode, everyone connected can get the signal and have their communication microphones automatically muted. Also, when DAW playback stops, everyone receives the MIDI stop signal so their communication microphones can automatically unmute.
Install loopMIDI virtual MIDI cable by Tobias Erichsen.
For advanced MIDI routing, we recommend Bome Network Pro instead of loopMIDI. Just keep in mind that loopMIDI is creating MIDI cables, while Bome Network Pro is creating MIDI ports (which then need to be routed).
In loopMIDI, create two virtual MIDI cables and name them: "WebRTC-Outgoing" and "WebRTC-Incoming".
In loopMIDI, create from two (min) to eighteen (max) virtual MIDI cables and name them: "WebRTC-1-Outgoing" and "WebRTC-1-Incoming".
Next pair name "WebRTC-2-Outgoing" and "WebRTC-2-Incoming".
Next pair name "WebRTC-3-Outgoing" and "WebRTC-3-Incoming".
And so on, up to "WebRTC-9-Outgoing" and "WebRTC-9-Incoming", if desired.
This web app will automatically search for those MIDI ports and connect to them.
If you see other MIDI port names under MIDI input and MIDI output display on the page, that means your browser didn't find the ports "WebRTC-Outgoing"/"WebRTC-Incoming", or they are already locked by some other application.
Send your MIDI signals to WebRTC-Outgoing cable to have them broadcast to the group. Incoming MIDI signals from the group will be sent to WebRTC-Incoming MIDI cable.
As of 2024. WebMIDI on Windows locks all the available MIDI ports when active. Thus, make sure to start the browser page last, after you have your DAW and other MIDI utilities running. For quick adjustments, you can use the app's PAUSE button.
To have your microphone automatically muted/unmuted, check out this project. For real-time p2p audio/video communication, checkout MiroTalk. For real-time studio-quality audio transport from your DAW, checkout Sonobus.
Make sure you use this web app in a Chromium-based browser. Now you can bookmark and share this page link with your fellow musicians. Pay attention to the link part after the # sign in the address: that's your room ID.
For lossy internet connections, DAW's Mackie MIDI packet stream might overwhelm WebRTC. This will manifest itself as play/stop signals having an ever increasing lag. In Reaper DAW this can be fixed by lowering Control Surface display update frequency in Settings->Control/OSC/Web. For other DAWs, one solution could be using Bome Translator to filter out all Mackie MIDI events except for play and stop. If all parties have zero-loss internet connections, none of this is needed, it will just work.
Developed by AtmanActive by expanding on the work by dtinth.
Powered by simple-peer, P2PT and Web MIDI API.