NAudio.Midi 3.0.1-preview.1

NAudio.Midi

Nuget

MIDI support for NAudio. Dual-targets net9.0 (cross-platform: the MIDI event model and file reader/writer) and net9.0-windows10.0.19041.0 (adds WinRT live MIDI I/O on Windows).

What's included

  • MidiFile for reading Standard MIDI Files (SMF)
  • MidiEventCollection and MidiEvent hierarchy (NoteEvent, NoteOnEvent, ControlChangeEvent, PatchChangeEvent, TempoEvent, TimeSignatureEvent, MetaEvent, SysexEvent, …)
  • MidiFileWriter helpers to produce MIDI files from a MidiEventCollection
  • Enumerations for General MIDI patches, drum notes, controller numbers, etc.
  • Windows only: WinRTMidiIn / WinRTMidiOut — live MIDI input and output backed by the WinRT Windows.Devices.Midi API (present only in the net9.0-windows build; the cross-platform net9.0 build omits them)

What's not here

Sending or receiving live MIDI through the legacy winmm-backed MidiIn / MidiOut uses the Windows Multimedia API and lives in the NAudio.WinMM package. (The WinRT-backed WinRTMidiIn / WinRTMidiOut above are the modern alternative and ship here.)

See the NAudio documentation site for tutorials and the full API reference, or the GitHub repository for full documentation and tutorials on working with MIDI files and events.

License

MIT.

Showing the top 20 packages that depend on NAudio.Midi.

Packages Downloads
NAudio
NAudio, an audio library for .NET
21
NAudio
NAudio, an audio library for .NET
19
NAudio
NAudio, an audio library for .NET
18
NAudio
NAudio, an audio library for .NET
17
NAudio
NAudio, an audio library for .NET
15
NAudio
NAudio is an open source .NET audio library — playback and recording, file readers and writers, MIDI, DSP and effects, with platform-specific backends auto-selected by target framework.
15
NAudio.WinMM
winmm.dll-based Windows audio APIs (WaveOut, WaveIn, MidiIn, MidiOut, ACM) for the NAudio audio library.
15
NAudio
NAudio is an open source .NET audio library — playback and recording, file readers and writers, MIDI, DSP and effects, with platform-specific backends auto-selected by target framework.
13
NAudio.WinMM
winmm.dll-based Windows audio APIs (WaveOut, WaveIn, MidiIn, MidiOut, ACM) for the NAudio audio library.
12
NAudio
NAudio is an open source .NET audio library — playback and recording, file readers and writers, MIDI, DSP and effects, with platform-specific backends auto-selected by target framework.
12
NAudio
NAudio is an open source .NET audio library — playback and recording, file readers and writers, MIDI, DSP and effects, with platform-specific backends auto-selected by target framework.
11
NAudio.Wasapi
WASAPI playback and capture (including loopback and process loopback) and WinRT MIDI for the NAudio audio library.
11
NAudio.WinMM
winmm.dll-based Windows audio APIs (WaveOut, WaveIn, MidiIn, MidiOut, ACM) for the NAudio audio library.
11

  • Sample and tool apps now roll forward onto newer .NET runtimes, so running them no longer requires the .NET 9 runtime to be installed
  • Fixed the NAudio and NAudio.Extras meta-packages resolving their portable net9.0 asset on projects targeting a plain netX.0-windows TFM (the WinForms/WPF template default), which silently dropped the entire Windows stack — no WaveOut, WASAPI, Media Foundation, ASIO, DMO or WinForms types, and AudioFileReader throwing "MP3 file reading requires the NAudio.Wasapi package". Both packages now also ship a plain net9.0-windows leg (#1407)
  • Breaking: AudioFileReader now throws NotSupportedException instead of InvalidOperationException when the cross-platform build is asked for a format it cannot read, and the messages simply state that rather than suggesting an NAudio.Wasapi install that could never have helped (#1407)
  • Projects on a plain netX.0-windows TFM may now see CA1416 warnings when calling WASAPI process-loopback capture. The warning is correct — those callers do need an OperatingSystem.IsWindowsVersionAtLeast(10, 0, 19041) guard — and was previously hidden because the only Windows asset available already implied that floor (#1407)
  • Fixed AiffFileReader reporting too long a Length and throwing IndexOutOfRangeException when the SSND chunk declares a non-zero offset (#1405)
  • Fixed AiffFileReader.Read throwing IndexOutOfRangeException when the source stream returns fewer bytes than requested (#1405)

.NET 9.0

.NET 9.0

Version Downloads Last updated
3.1.1-preview.2 1 09/22/2026
3.1.1-preview.1 4 09/10/2026
3.1.0 4 09/09/2026
3.1.0-preview.2 4 09/05/2026
3.1.0-preview.1 6 09/04/2026
3.0.2-preview.2 9 08/31/2026
3.0.2-preview.1 8 08/20/2026
3.0.1 9 08/18/2026
3.0.1-preview.1 6 08/18/2026
3.0.0 10 08/16/2026
3.0.0-preview.20 10 08/10/2026
3.0.0-preview.19 13 07/28/2026
3.0.0-preview.18 14 07/16/2026
3.0.0-preview.17 13 07/16/2026
3.0.0-preview.16 17 07/01/2026
3.0.0-preview.15 17 07/01/2026
3.0.0-preview.14 14 06/26/2026
3.0.0-preview.10 16 06/12/2026
3.0.0-preview.9 24 05/30/2026
3.0.0-preview.8 17 05/30/2026
3.0.0-preview.7 20 05/30/2026
3.0.0-preview.6 12 05/30/2026
3.0.0-preview.5 18 05/30/2026
3.0.0-preview.4 18 05/30/2026
3.0.0-preview.3 16 05/30/2026
3.0.0-preview.2 21 05/30/2026
2.4.0 10 09/01/2026
2.3.0 17 05/30/2026
2.2.1 14 05/30/2026
2.2.0 18 05/30/2026
2.1.0 17 05/30/2026
2.1.0-beta.1 18 05/30/2026
2.0.1 19 05/30/2026
2.0.0 19 05/30/2026
2.0.0-beta2 17 05/30/2026
2.0.0-beta1 19 05/30/2026