Melanchall.DryWetMidi (nuget): DryWetMIDI is the .NET library to work with MIDI files and MIDI devices. It allows:        * Read, write and create Standard MIDI Files (SMF). It is also possible to read RMID files where SMF wrapped to RIFF chunk.       * Work with MIDI devices: send/receive MIDI data, play back and record MIDI data.       * Finely adjust process of reading and writing. It allows, for example, to read corrupted files and repair them, or build MIDI file validators.       * Implement custom meta events and custom chunks that can be write to and read from MIDI files.       * Manage MIDI data either with low-level objects, like event, or high-level ones, like note.       * Build musical compositions.       * Perform complex musical tasks like quantizing, notes splitting or converting MIDI files to CSV.
Keywords: midi|smf|music|composing|notes|chords|device|playback|record|midi-api|midi-device|midi-parser|recording