mwg API
    Preparing search index...

    Function parseMidi

    • Reads format 0/1 Standard MIDI File bytes into a flat, tick-ordered event list.

      Parameters

      • data: ArrayBuffer | ArrayBufferView<ArrayBufferLike>

      Returns MidiFile

      import { parseMidi, scheduleMidi, noteToFrequency, MidiPlayer } from '@datamoc/mw_games/audio';

      declare const midiBytes: ArrayBuffer;

      const file = parseMidi(midiBytes);
      const notes = scheduleMidi(file); // absolute-time notes, ready to voice
      console.log(noteToFrequency(69)); // 440 - A4

      const player = new MidiPlayer(file, { waveform: 'triangle' });
      player.play();
      // in the game loop:
      player.update(1 / 60);