jazz-soft / test-midi-files

A framework for producing test MIDI files
MIT License
26 stars 2 forks source link
midi midi-clip midi-file midi-files midi2 smf test

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

Thanks for your support!

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