This is a library to parse MIDI files. It is based on previous libraries, and has been modified to improve readability and to be used in a personal project that needed some changes.
Example:
Entry file: sample.mid
Output file: sample.json
var
fs = require('fs-extra'),
GeneralMidi = require('./src/midi.js')
;
const
MIDI_FILE = 'sample.mid',
DIST_FILE = 'sample.json',
FILE_TYPE = 'binary'
;
function readStream() {
var midiSong = fs.readFileSync(MIDI_FILE, FILE_TYPE);
var jsonSong = GeneralMidi.parseData(midiSong);
fs.writeJsonSync(DIST_FILE, jsonSong);
}
readStream();
Example run:
$ node parse
- Emoji instruments ->
src/constants.instruments-emoji
- MIDI note numbers-strings ->
src/constants.notes-emoji
- Use ES6
Feedback is always very welcome :)