Hey, why the heck not? (CC-BY-SA) farnea.

Imagine connecting to MIDI gadgets – inputs and outputs – and sequencing musical patterns from a browser. (As a developer, imagine doing that from JavaScript. As a user, imagine doing that right inside your browser window with a music app.) For now, such things exist only on a document, but they could be coming to a browser near you.

Not bad for a standard that dates back to 1983.

The W3C has a document up for discussion, for those of you technical enough to get involved:

The news comes from an excellent, recently-introduced blog that’s tracking the development of music and audio in browsers:
MIDI API Editor’s Draft posted [html5audio.org]

They’ve been following some good news with the advancement of audio in the browser. (Even recently, audio capabilities have often fallen back to Flash even when the interface itself is built in another tool.) The Moog Google Doodle and Angry Birds each use HTML5 audio – albeit only on Google Chrome. (In other browsers, they fall back on Flash.) They also point to a post by Jens Nockert examining two competing APIs for audio in the browser.

It’s all still evolving, and the landscape remains somewhat fragmented. But for those of you with the right skills, that also means now is a good time to get involved to ensure that music making on the Web is as powerful and expressive as possible. Making our technology more musical seems a fundamental means of making it more human.

  • Alex Buga

    This is awesome, because it will allow me as a webdeveloper to create web apps that use touch screens to control midi hardware from the iPad.

  • Markdawes

    I’m still pretty blown away by apps like Audio Sauna and AudioTool which run inside Chrome. I can’t speak about the integration of hardware MIDI devices with AudioTool (I haven’t tried it yet) but the app does support it. 

  • Lurch

    html5 while a promising way to implement new audio devices, the latency is terrible, and many of these apps have issues with buffer overload, and other issues. as far as im concerned even the ipad is still a toy, and aint ready for real studio work….  thats why we keep our winxp production daws humming…. they still run all new apps, and legacy software/drivers are not a problem.  

    • http://pkirn.com/ Peter Kirn

      Let’s leave the iPad out of it (at least its native tools, which are built on the same foundation as Mac OS)… but yes, these APIs aren’t yet ready for prime time, there I agree. We’re watching them evolve.

    • PaulDavisTheFirst

      better to stop watching and start speaking up. a few more details in my response on jens nockert’s blog.

  • PaulDavisTheFirst

    (1) as a developer, i don’t want to imagine doing very much of anything in javascript

    (2) for more than a decade, the music/audio tech industry has been battling the ascendancy and centrality of two operating systems that the industry has very little input into and essentially no control over. And now its supposed to rejoice that once again, its goals and requirements will once again be ignored in favor of consumer interaction as a new “standard” emerges that exists only to try to make more possible what is already possible. 

    color me yawning.

    look, there are some cool tablet/phone audio apps, no question. any excitement about web-enabled audio is basically just excitement about portability, specifically portability to a class of devices that otherwise require dedicated development. this isn’t progress, its papering over the cracks of another round of stupidity at the intersection of technology and making music.

    • http://www.facebook.com/yrojjory Jory Prum

      I tend to disagree.  HTML5 doesn’t have to be the only development environment.  If you look at even just one platform, such as the web, you’ll see a plethora of tools available for every level of development.  C can be used by the low-level folks, Perl is available for those who really want a bit of power without having to invent the wheel, PHP and Ruby provide higher level solutions for folks who want to develop solutions, not be computer scientists.

      Web Audio is very much in that same world.  Low level folks can develop in Objective-C and higher level developers can create solutions using HTML5.  The problem with HTML5 is it is terribly incomplete, precluding a number of areas where people can create some great solutions.

      Not ever development environment has to be for computer scientists.  And not every solution is practical in a web browser, either.  But it’s good to have the options.

    • http://www.onesmallclue.com/ Shannon

      > (1) as a developer, i don’t want to imagine doing very much of anything in javascript

      Smart Mobile Studio –  http://www.op4js.com/
      Don’t use javascript! Smart Mobile Studio uses an object pascal and compiles down to javascript. It’s a new project and the website doesn’t look like much yet, but I think Smart is looking very promising.

    • PaulDavisTheFirst

      in 2012 you want me to abandon javascript for …. object pascal …. what side of the wormhole are you from?

    • http://www.onesmallclue.com/ Shannon

      haha… yeah.. ..plenty of alternatives out there. http://altjs.org/

    • http://www.facebook.com/profile.php?id=733130905 Jon Lennart Aasenden

      It’s 2012 and javascript doesnt support:
      1. classes
      2. re-usable components
      4. interfaces
      5. concurrent types
      6. class helpers (obviously)
      7. A virtual method table, allowing for true inheritance rather than prototype chaining
      8. Virtual and abstract methods
      9. partially implemented classes (again, requires a class to begin with)
      .. the list goes on.

      All of this is brought to javascript via object pascal, without any dependencies or plugins (smart sculpts these things for you in javascript).

      Guess the question is, what side of the wormhole are you from that seriously think a large scale client app wont benefit from object pascal, which is knocking out huge applications and have done so for 20 years.
      If you dont see that you might have something to learn here, then it’s your loss

    • PaulDavisTheFirst

      in response to Jon: i wasn’t advocating javascript. my comment was intended to be a sarcastic reference. i apologize for the fact that in the world i work in (technical systems programming and realtime audio and midi software), pascal has been dead for well over a decade (if it was ever really alive). it wasn’t that i want to use javascript, but more that pascal (even object pascal) just seems like an equally silly alternative.

  • Sema

    Web developers looking to have fun with MIDI may find this link useful: http://jazz-soft.net

    • http://twitter.com/DecomPianos Decomposing Pianos

      Very useful! Thank you!!

  • Rufus White

    It would be amazing if just some very basic midi output apis were added to the ipad browser – then you could create dynamic control surfaces like in Lemur, but without having to use their cludgy programming language!