I’ve been toying with Chrome Beta 43’s newly included support for the Web MIDI API.
While getting the basic connections in place, there was something that took me over an hour of fiddling to realize: either the API itself or all demos that I’ve tried listen exclusively on MIDI channel 1.
Accordingly, in the beginning I wasn’t able to get a sound at all, but had no idea where the source of the problem might be. I tried inspecting the demo software source code, the W3C docs, and many MIDI octaves to no avail. Then it finally occurred to me to check the MIDI channels: I had my padKontrol set to emit on channel 10.
So I tried all channels from 16 down (16, the max, is closer to 10…), and I was only successful when I hit the last possible channel. A note played and it was glorious.
If you don’t play around with what channel your MIDI controller emits on, I assume you won’t have a problem like I did: it’s likely most controllers ship set to default on channel 1.
But then again, if you’re already playing with the Web MIDI API there’s a high chance you’ve played with your MIDI channels at some point.
I hope this saves you an hour of fiddling. Or if your MIDI controller is a fiddle, I hope this gets you to the right kind of fiddling faster.
By the way, if you’re doing something with the Web MIDI API, please share what you know! You’re welcome to get in touch, but even if you just post something somewhere on the web I’m sure to come across it in search. There’s isn’t much info out there right now.