Awesome
json-midi-encoder
This module encodes a JSON representation of MIDI data into a binary MIDI file.
By using this module it is possible to encode a JSON representation of a MIDI file into its binary counterpart. That JSON representation can either be created from scratch or produced by parsing an existing file with the midi-json-parser.
Usage
This module is distributed as package on npm. It can be installed by running the following command:
npm install json-midi-encoder
The only exported function is called encode()
. It expects to receive a JSON representation as its
only parameter. It returns a Promise which hopefully resolves with an ArrayBuffer containing the
binary MIDI file. Here is a little example.
import { encode } from 'json-midi-encoder';
const json = {
division: 480,
format: 1,
tracks: [
[
{
delta: 0,
trackName: 'example'
},
// ... there are probably more events ...
{
delta: 0,
endOfTrack: true
}
]
// ... maybe there are more tracks ...
]
};
encode(json).then((midiFile) => {
// midiFile is an ArrayBuffer containing the binary data.
});
To see what kind of events this module can handle, you may want to have a look at the JSON files used to test this module. There is also a TypeScript interface which describes the JSON representation.