Skip to content
JavaScript library for using NSX-39 with Web MIDI.
JavaScript HTML
Find file
Latest commit a99b777 @niusounds niusounds git pull
Failed to load latest commit information.
LICENSE Initial commit
README.md Update README
angular.html Update demos
bower.json init commit
demo.html Update demos
gitpull.html git pull
miku.js Chrome 38? 39? からのWebMIDIの仕様変更に対応しました。

README.md

miku.js

JavaScript library for using NSX-39 with Web MIDI.

How to use

// get instance
Miku.init(function(miku) {
  // set lyrics
  miku.lyrics('', '', '', '', '');

  // play
  miku.noteOn(69, 127, 0);

  // stop
  miku.noteOff(69, 0, 0);
});

API

Set lyrics

Send MIDI message to set lyrics.

// Array of String
miku.lyrics(['', '', '', '', '']);

// Separated by space
miku.lyrics('あ い う え お');

// Separated by comma
miku.lyrics('こ,ん,に,ち,わ');

// unknown character is ignored
miku.lyrics('み t ddd く');

Play note

var noteNumber = 60,
    velocity   = 64;

miku.noteOn(noteNumber, velocity, 0);

...

miku.noteOff(noteNumber, velocity, 0);

Send other MIDI message

// bend value is 0 to 16384. Default value is 8192.
miku.pitchBend(4096);

// Modulation
miku.controlChange(1, 127);

Event listening

These events are also emitted from MIDI Input.

miku.on('noteOn', function(noteNum, velocity) {
  console.log('Note on', noteNum, velocity);
});

miku.on('noteOff', function(noteNum, velocity) {
  console.log('Note off', noteNum, velocity);
});

miku.on('pitchBend', function(value) {
  console.log('Pitch bend', value);
});

miku.on('sysEx', function(dataArray) {
  console.log('sys ex', dataArray);
});
Something went wrong with that request. Please try again.