in src/toMidi.ts [601:623]
export function generateFileData(notes: NoteEventTime[]): Buffer {
const midi = new Midi();
const track = midi.addTrack();
notes.forEach(note => {
track.addNote({
midi: note.pitchMidi,
time: note.startTimeSeconds,
duration: note.durationSeconds,
velocity: note.amplitude,
});
if (note.pitchBends !== undefined && note.pitchBends !== null) {
note.pitchBends.forEach((bend, i) => {
track.addPitchBend({
time:
note.startTimeSeconds +
(i * note.durationSeconds) / note.pitchBends!.length,
value: bend,
});
});
}
});
return Buffer.from(midi.toArray());
}