Вы можете использовать библиотеку, которую я нашел, называемую MidiWriterJS .
Он очень прост в использовании:
Шаг 1: Установите
Самый простой способ скрыть - использовать npm .
$ npm install midi-writer-js
затем
var MidiWriter = require('midi-writer-js');
Шаг 2. Создание массива дорожек и добавление заметок
var tracks = [];
for(t of <your existing track array>){
var notes = [];
for(n of <your existing note array for the track>){
notes.push(new MidiWriter.NoteEvent({pitch: <array of all notes in the chord>, duration: <how long the chord should last>});
}
var newTrack = new MidiWriter.Track();
newTrack.addEvent(notes, function(event, index){ return {sequential: true}; });
tracks.push(newTrack);
}
Шаг 3: Экспорт MIDI-данных
var writer = new MidiWriter.Writer(tracks);
writer.saveMIDI(<filename>);