midieval

2.0.0 • Public • Published

midieval

A small helper to simplify working with Web MIDI API. After initiated, it listens to all connected MIDI devices and wraps the received MIDI messages in a more human readable format.

So far it only supports listening to MIDI messages (not sending) and is used in the following manner:

midieval.in(function(msg) {
	if (msg.type === 'Unknown') { return; }
	console.log(msg);
});

which should generate something like:

Note {
	channel: 1,
	device: { id: "-123456789", name: "Yamaha" },
	note: "G",
	octave: -1,
	timestamp: 20162.53555006,
	type: "Note On",
	velocity: 69,
	_data: Uint8Array(3) [144, 55, 69]
}

or:

ControlChange {
	channel: 1,
	controller: "Sustain"
	device: { id: "-123456789", name: "Yamaha" },
	timestamp: 20242.53555006,
	type: "Control Change",
	value: 55,
	_data: Uint8Array(3) [176, 64, 55]
}

Currently supported message wrappers are:

  • Note On
  • Note Off
  • Control Change
  • Pitch Bend
  • Aftertouch
  • Channel Pressure
  • Program Change

If no matching message wrapper is found, it gives you a default Message with type Unknown, with MIDI data, timeStamp and device.

Readme

Keywords

Package Sidebar

Install

npm i midieval

Weekly Downloads

1

Version

2.0.0

License

MIT

Last publish

Collaborators

  • berg.rickard