node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »



MIDIPlayer allows you to play MIDI files in your browser with the help of the WebMIDIAPI.

NPM version Dependency Status devDependency Status

MIDIPlayer can be used either in modern browsers (pick the last bundle) or with NodeJS by installing the following NPM module :

npm install midiplayer

This player is used for this MIDI Karaoke Player


//Require MIDIPlayer and MIDIFile modules 
var MIDIPlayer = require('midiplayer');
var MIDIFile = require('midifile');
navigator.requestMIDIAccess().then(function(midiAccess) {
    // Creating player 
    var midiPlayer = new MIDIPlayer({
      'output': midiAccess.outputs()[0]
    // creating the MidiFile instance from a buffer (view MIDIFile README) 
    var midiFile = new MIDIFile(buffer);
    // Loading the midiFile instance in the player 
    // Playing {
        console.log('Play ended');
    // Volume 
    midiPlayer.volume = 80; // in percent 
    // Pausing 
    // Resuming 
    // Stopping 
    // Playing again and loop playCallback() {;
}, function() {
    console.log('No midi output');


Copyright Nicolas Froidure 2013. MIT licence.