No description
Find a file
2017-04-14 02:09:02 +03:00
audio init commit 2017-02-26 17:52:31 +03:00
index.html module pattern 2017-03-01 13:20:04 +03:00
midi.js module pattern 2017-03-01 13:20:04 +03:00
OpenWebPiano.js sustain bug fixed 2017-03-06 14:18:38 +03:00
readme.md Update readme.md 2017-04-14 02:09:02 +03:00

Lightweight virtual web piano. There is only one sample per octave, however samples are mixed with each other for realistic sound with correct full-length sustain. Lowpass filters are used to emulate dynamics. This instrument works well with sustain pedal.

Installation

Simply copy openWebPiano.js and audio folder. See index.html for the example.

API

  1. init(context) - load all samples and start;
  2. noteOn(note 21 - 105, velocity 0 - 127 ) - start a note with a particular velocity level in standard MIDI format;
  3. noteOff(note) - stop a note;
  4. sustain(value) - any value higher then 0 switches sustain on, 0 value switches sustain off.

Example

<script src="OpenWebPiano.js"></script>
<script>
  var audioCtx = new AudioContext();
  openWebPiano.init(audioCtx);
  //on event(note,velocity) ->
  openWebPiano.noteOn(note, velocity);
</script>

License

MIT