WebMIDI

Did a search, and while many of you have mentioned using WebMIDI in various projects, we didn’t have a dedicated thread about it.

I’m just getting started with WebMIDI and I’d love to hear about your favorite libraries and techniques.

8 Likes

I did a WebMIDI project a few years ago and found lack of browser support frustrating. Maybe the situation has improved a little now, but at the time, only Chrome supported it natively. There was a browser plugin to add support to other browsers, but as I recall the plugin API didn’t conform to the standard WebMIDI spec. The web app I was working on then no longer works in any current browser, sadly.

Hope you have better luck than I did!

2 Likes

I had a play and wrote a few bits and bobs,

Play video by triggering from an external midi controller with sliders, fade in / out speed control for eight video clips. So you can mix video from your sequencer.
webmidi examples

I also did a sample launcer.
Sample launcher

Remember you have to click on the screen with the mouse first to allow the use of webmidi, as it requires human input before it works.

Love this thread!

Show us stuff people!

2 Likes

I’ve used https://github.com/djipco/webmidi in several projects. It’s well-documented and the author is responsive to issues.

Unfortunately, I have nothing to share at the moment. Everything I’ve done with it is client-work related to data-visualization installations … basically using things like Midi Fighter Twister to control dashboard parameters.

2 Likes

Here’s a pretty wild WebMIDI example (specific to the Linnstrument unfortunately) that was partially the inspiration for creating this thread:

Several other interesting WebMIDI projects here:

2 Likes

Firefox is in progress in the Nightly builds… at least it’s being developed. Wouldn’t hold your breath for Safari though. MIDIAccess - Web APIs | MDN

Amusing myself at the fantasy of doing something dastardly and nefarious with WebMIDI (given it represents such a serious security risk that Apple can’t consider implementing it).