MIDI, Meet The Web

The Web just keeps on getting louder. Last month saw Google introduce support for Web MIDI in Google Chrome. Firefox and Internet Explorer are expected to follow suit soon. “Uh huh,” you say. “This sounds like yet another geeky announcement. Why get stirred up? Is Web MIDI really worth getting off the couch for?”

Actually, yes, it is. MIDI is a very special type of information: it represents a musical performance, in an efficient way that is really simple and flexible, and which is understood by a vast array of musical equipment. Web MIDI, quite simply, lets the contents of a web page communicate with that equipment.

Let me begin with a review of the original invention of MIDI, which changed the music world forever. MIDI arose from the need to standardize the way musical instruments and hardware are connected. Created in 1983, MIDI allowed any manufacturer to represent musical performance in digital terms: notes are represented as a sequence of encoded messages sent over a wire. The concept of “note starting right now on instrument 2 with pitch C4 and volume 100” could finally be encoded in a uniform way as a sequence of a few numbers, sent from an instrument over a physical cable and received by, say, a synthesizer at the other end.

Personal computers, of course, got in on the game immediately (the IBM PC was introduced 2 years before MIDI, so the timing was good). So not only did MIDI change how hardware connected to other hardware – it also let hardware and software applications connect to each other in a standardized way, bringing personal computers into the musical process. These streams of numbers representing musical performance could be recorded, manipulated and played back at will. The first sequencing applications were born, and notation editors became able to work in tandem with sequencing and synthesis in a brand-new way. Works of increasing sophistication could be put together in home studios – no longer by painstaking overdubbing on multitrack tape, but by accumulating MIDI and audio information in a document stored on a computer.

Now, nearly every MIDI-enabled application also needs to work with audio information. While MIDI can represent the information that some note with some pitch is performed at a particular time in a particular way (much like a note in a score), audio information must be attached to the MIDI in order to provide an actual sound for that note. And in the last few years a new standard called Web Audio has arrived, which allows web pages to do exactly that. If you’ve used the HTML5 version of Noteflight (the default on mobile devices) then you are already using Web Audio: that’s the mechanism that lets applications like Noteflight make any sound they want, with exact timing. This was a needed precursor for Web MIDI to be meaningful and useful.

So this is the moment when MIDI-based applications finally leave your hard drive and take to the Web. We’re going to see a lot of amazing new musical things be created by developers, that take advantage of the Web’s ability to deliver software that runs anywhere, and to move information between users located anywhere.

In the ensuing decades, MIDI became a staple of music software, and has remained quite stable. A few important changes did take place: MIDI performance data today frequently move via USB cable instead of the original low-speed MIDI protocol, and (less frequently) over the Internet as well. The MIDI file format addressed the need for a standard format to represent MIDI events along with high-resolution timestamps and musical metadata. General MIDI came up with some standardized assignments of instruments to sounds.

Now we’re about to be plunged into what may be the one of the most significant changes of all: the availability of MIDI communication in web browsers. This will allow performance information to be interpreted or generated by any Web page or application. It will also allow performance data to be easily routed between different users in diverse locations, or stored in the cloud, or manipulated online in countless ways. I can’t possibly predict what people will invent, but I do predict it will be thrilling!

Noteflight’s own immediate contribution to this thrill is fairly straightforward: we’re going to be able to retire our special-purpose “Noteflight MIDI Adapter” program that connects Noteflight to a MIDI device, and replace it with… nothing! You won’t need to run any special adapters any more. We’re also designing new features such as Transcription (already available as a beta in our premium edition) that lets you record a performance directly into Noteflight to be converted into notation.

Other than Noteflight, we’re seeing lots of other cool things coming into existence. Soundtrap, to mention one great example, is a simple DAW-like (Digital Audio Workstation) application that, like Noteflight, is “pure web.” Think of an application similar in its function to Apple’s Garage Band, but running in any browser, with sharing and publishing ability built right in, and you’ve got the idea. Soundtrap is concentrated on manipulating audio and midi, rather than notation. And unsurprisingly, both Web Audio and Web MIDI play an integral part in this application too.

Anyway… we should all stay tuned for great things. The people who build the web and build browsers are trying their hardest to bring amazing musical applications to us, and I can’t wait to see what’s next!