@David-Healey An issue I run into now is when
function onNoteOn() { for (note in track) { if (note.isNoteOn()) { Console.print(note.dump()); Console.print("Note: " + note.getNoteNumber()); //Synth.playNote(note.getNoteNumber(), note.getVelocity()+1); //Synth.playNote(note.getNoteNumber()+12, note.getVelocity()+1); //Synth.playNote(note.getNoteNumber()-12, note.getVelocity()+1); } //Synth.noteOffByEventId(note.getEventId()); } } function getNoteOn(list, noteOn) { for(note in track) { if(note.isNoteOn() && note.getEventId() == noteOn.getEventId()) return note; } } MIDIPlayer1.flushMessageList(track);I uncomment any of the synth.playNote function calls, it plays very distorted, notes playing for far longer than they are supposed to, like I mentioned earlier.