static MidiSequence CreateScaleSequence() { MidiSequence sequence = new MidiSequence(); MidiEventCollection events = sequence.Tracks.AddNewTrack().Events; string[] notes = new[] { "C5", "D5", "E5", "F5", "G5", "A5", "B5", "C6", "C6", "B5", "A5", "G5", "F5", "E5", "D5", "C5" }; events.AddRange(notes.SelectMany(note => NoteVoiceMidiEvent.Complete(null, 100, 0, note, 127, 100))); events.Add(new EndOfTrackMetaMidiEvent(null, notes.Length * 100)); return(sequence); }