UNPKG

midi-file-io

Version:

Reads, parses and writes MIDI files. Fork of NHQ's midi-file-parser.

47 lines (35 loc) 1.62 kB
# midi-file-parser ``` npm install https://github.com/celsasser/midi-file-io ``` Forked from [midi-file-parser](https://github.com/NHQ/midi-file-parser). Special thanks to the authors. Added write functionality, tests and made small additions/revisions to the read functionity. Probably not as portable as it was. File IO has dependencies on NodeJS's `fs`. Feel free to fork it and pull it out if this gets in your way. ## usage Functionality is broken up into read and write. Each of these are broken up into a file operation and a buffer operation: - `parseMidiBuffer` - parses the binary MIDI buffer into a [MidiIoSong](src/types.ts) - `parseMidiFile` - parses the MIDI file at the specified path into a [MidiIoSong](src/types.ts) - `writeMidiToBuffer` - writes the specified [MidiIoSong](src/types.ts) object to a returned `Buffer`. - `writeMidiToFile` - writes the specified [MidiIoSong](src/types.ts) object to the specified path. ## parseMidiBuffer ```js const midiFileIO = require('midi-file-parser'); const buffer = require('fs').readFileSync('rachnananov.mid', 'binary') const parsed = parseMidiBuffer(buffer); ``` ## parseMidiFile ```js const midiFileIO = require('midi-file-parser'); const parsed = parseMidiFile('rachnananov.mid'); ``` ## writeMidiToBuffer ```js const midiFileIO = require('midi-file-parser'); const parsed = parseMidiFile('rachnananov.mid'); const buffer = writeMidiToBuffer(parsed); ``` ## writeMidiToFile ```js const midiFileIO = require('midi-file-parser'); const parsed = parseMidiFile('rachnananov.mid'); const buffer = writeMidiToFile(parsed, 'rachnananov-copy.mid'); ```