Skip to content

jazz-soft/test-midi-files

Repository files navigation

test-midi-files

A framework for producing test MIDI files

npm npm build Coverage Status

See also:

Before use

Please run npm install to make sure all dependencies are up to date.

Playing/viewing MIDI files

node index.js <filename.mid> [<midi-out port> | print | inspect | base64]

e.g.:
node index.js midi/test-c-major-scale.mid
-- play MIDI file to the default MIDI-Out port.
node index.js midi/test-c-major-scale.mid "Microsoft GS Wavetable Synth"
-- play MIDI file to the specified MIDI-Out port.
node index.js midi/test-c-major-scale.mid print
-- print MIDI file contents.
node index.js midi/test-c-major-scale.mid inspect
-- same as print, but also outputs the data offset within the MIDI file.
node index.js midi/test-c-major-scale.mid base64
-- output the MIDI file binary data in Base64 format.

Playing MIDI files in browser

Open index.html

Creating your own test

Copy code/test-c-major-scale.js or your favorite test in the code directory.
Make changes using the API documented at https://jazz-soft.net/doc/JZZ/midifile.html to suit your test case.
Run node code/your-test-name.js, it will create a MIDI file with the same name in the midi directory.

If you believe your test will be useful for others, please check it into this repository!

MIDI 2.0 files

Experimental support. See the code2 and midi2 directories.

Using as library in your own project

npm install test-midi-files --save

const TEST = require('test-midi-files');
//...

Test files

More to come...

NOTE: not every MIDI message is understood by every MIDI device!

Thanks for your support!

Stargazers for @jazz-soft/test-midi-files