3.0.0 • Published 3 months ago
yjmidi v3.0.0
yjmidi
midi file parser/player
Usage
CommonJS require()
is not supported in version 3.0.0-rc1 or higher.
import fs from 'fs';
import { MidiFile, MidiPlayer } from 'yjmidi';
let midi = fs.readFileSync('...'); // your midi file. it can be an ArrayBuffer or Uint8Array or nodejs Buffer
let file = new MidiFile(midi); // MidiFile instance
file.header.format; // 0,1 or 2
file.header.ticksPerBeat; // If division is frames per seconds, this is null
file.header.tickResolution; // microseconds per tick
file.header.tracksCount; // n
file.durationTick; // duration in tick
file.durationMs; // duration in ms
file.tracks; // the tracks
file.tempoEvents; // "set tempo" events
/**
* Playing midi files
*/
let player = new MidiPlayer(); // MidiPlayer instance
player.loadMidi(midi); // loading a midi file
player.on('midievent', (event, portnum, message) => {
event; // information of the event
portnum; // port number
message; // midi message. if it is null, the 'event' may be a meta event
});
player.play();
player.pause();
player.tempo; // similar to HTMLMediaElement.playbackRate
player.durationTick; // same as MidiFile.durationTick
player.durationMs; // same as MidiFile.durationMs
player.currentTick;
player.currentMs;
let buf2 = fs.readFileSync('....'); // another midi file
let midi3 = new MidiFile(buf2);
player.loadMidi(midi3); // insert an instance of MidiFile
player.play();
3.0.0-rc2
3 months ago
3.0.0
3 months ago
3.0.0-rc5
3 months ago
3.0.0-rc4
3 months ago
3.0.0-rc3
3 months ago
3.0.0-rc1
3 months ago
2.7.0
4 months ago
2.6.1
1 year ago
2.3.0
1 year ago
2.2.0
1 year ago
2.5.0
1 year ago
2.4.1
1 year ago
2.4.0
1 year ago
2.6.0
1 year ago
2.1.0
2 years ago
2.0.0
2 years ago
1.2.0
2 years ago
1.2.1
2 years ago
1.1.0-chuchu1
2 years ago
1.0.1-chuchu1
2 years ago
1.0.0-chuchu1
2 years ago