Presented at FITC Toronto 2017
More info at http://fitc.ca/event/to17/
Presented by Jean-Philippe Côté, TangibleJS
Overview
If you own an electronic music instrument made in the last 3 decades, it most likely supports the MIDI protocol. What if we told you that it is now possible to interact with your beloved keytar, drum machine or MIDI software directly from your browser? You would go crazy, right? Well, prepare to do so…
With built-in support inside Chrome and Opera, upcoming support in Firefox and plugins for other platforms, this possibility is now a reality. This talk will introduce the audience to the Web MIDI API and to a library that will help you get the most out of it called WebMidi.js.
Web devs, man your synths!
Objective
Kickstart the development of web-based, MIDI-driven projects.
Target Audience
Web developers who want to make some noise and musicians paying bills doing front-end dev gigs
Assumed Audience Knowledge
Basic knowledge of the world’s top 4 languages: HTML, CSS, JavaScript and MIDI
Five Things Audience Members Will Learn
What the Web MIDI API is and what it can be used for
What the current support level for MIDI in browsers is
Why the Web MIDI API is too low-level for the average web developer and what can be done about it
How to send MIDI commands to MIDI devices and how to react to incoming MIDI events
How it sounds when a web developer transforms into an electronic musician
4. WEB MIDI API
« the Web-MIDI API
is the most significant advancement of MIDI since…
MIDI itself! »
— midi.org
Source: https://www.midi.org/articles/about-web-midi
32. 9ms16ms
Native Instruments Battery 4+
Numbers reflect the time between hitting a pad on AxiomPro controller and hearing the sound come out of the computer.
Tests performed on MacBook Pro (macOS Sierra). Buffer size was 128 samples.
VS.
53. Vote for Web MIDI API Support in Microsoft Edge
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6508429-web-midi-api
Follow Web MIDI Development in Firefox
https://bugzilla.mozilla.org/show_bug.cgi?id=836897
Web MIDI API Specification
https://webaudio.github.io/web-midi-api/
WebMidi Library
https://github.com/cotejp/webmidi
Web MIDI API Polyfill
http://cwilso.github.io/WebMIDIAPIShim/
Web MIDI API Shim for iOS
https://github.com/mizuhiki/WebMIDIAPIShimForiOS
Web MIDI Browser
http://www.taktech.org/takm/WebMIDIBrowser/
Tone.js Web Audio Framework
https://github.com/Tonejs/Tone.js/
Source Code From This Talk
https://github.com/cotejp/fitc-2017-midi-talk
Jazz-MIDI Extension for Firefox
https://addons.mozilla.org/en-US/firefox/addon/jazz-midi/
Links from this talk