Skip to content
This module encodes a JSON representation of MIDI data into a binary MIDI file.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src build(config): update tsconfig file Jun 13, 2019


This module encodes a JSON representation of MIDI data into a binary MIDI file.

tests dependencies version

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.


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 ...

    .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.

You can’t perform that action at this time.