Я могу проанализировать MIDI-файл с помощью библиотеки midi-parser-js
и создать объект soundtrack
, содержащий все дорожки и их события:
export class Soundtrack {
name: string;
duration: number;
tracks: Array<Track>;
}
export class Track {
events: Array<MidiEvent>;
}
export class MidiEvent {
data: any;
deltaTime: number;
metaType: number;
type: number;
}
У меня также есть работающий синтезаторный сервис, к которому я хотел бы подать эти MIDI-ноты:
synth.triggerAttack(note, null, velocity);
synth.triggerRelease(note);
Как отфильтровать MIDI-события, являющиеся нотами?
Как получить фактическиенота и ее скорость от такого события MIDI?