Skip to content
Wrapper around the Jazz plugin that mimics the W3C MIDI proposal of Jussi Kalliokoski
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
css
js
lib
README.md
background.js
example1-basic-usage.html
example2-input-output.html
example3-computer-keyboard.html
example4-channel-program.html
example5-random-sequence.html
example6-sysex.html
example7-pitchbend.html
jazz.crx
manifest.json
midi-128.png
midi-16.png

README.md

The JazzMIDIBridge is a wrapper for the Jazz plugin written by Sema.

The Jazz plugin is a browser plugin that adds MIDI functionality to your browser.

You have to install the plugin before you can use the JazzMIDIBridge.

All major browsers on Windows and OSX are supported.


In fact, the JazzMIDIBridge is a wrapper around a wrapper; the Jazz browser plugin is wrapped in a MIDIAccess object, and the MIDIAccess object is wrapped in a JazzMIDIBridge object.

The MIDIAccess wrapper is a partial implementation of Jussi Kalliokoski's W3C proposal for native MIDI support in browsers.

The JazzMIDIBridge wrapper provides methods that allow you to add MIDI functionality to your applications fast and easy.

The JazzMIDIBridge wrapper can be referenced by the global variable JMB. JMB is like the $ in jQuery.

The MIDIAccess wrapper can be referenced by the local variable that is the return value of the callback of the init() method:

JMB.init(function(MIDIAccess){
    //your code goes here
});

As you can see, you could call MIDIAccess anything you like, but it is recommended to use the 'standard' naming.

If you want call methods directly on the Jazz plugin, you can get the reference to the Jazz plugin by calling the getJazz() method:

var Jazz;

JMB.init(function(MIDIAccess){
    Jazz = JMB.getJazz();
    Jazz.MidiOutRaw([0xF0,0x7F,0x7F,0x04,0x01,0x7F,0x33,0xF7]);
});

In the repo you will find some examples that you can use as a starting point for your own code. You can check some of the examples online as well:

For a complete API reference check the Wiki.


Files and folders:

  • css: the css files of the examples
  • js: the javascript code of the examples
  • lib:
    • JazzMIDIBridge.js file and its minified version jazzmidibridge-x.y.min.js
    • JazzMIDIBridge plugins and minified versions

Some of the examples use plugins, these plugins provide handy MIDI related functionality such as creating dropdown menus for MIDI in- and outputs.

Something went wrong with that request. Please try again.