NAudio 3.1.1-preview.2

NAudio

Nuget

NAudio is an open source .NET audio library written by Mark Heath and contributors.

This is the main NAudio meta-package. Installing it pulls in everything you need to play, record and manipulate audio on .NET, and adds AudioFileReader — the one-line "just open this audio file" reader that picks the right decoder for you — along with Mp3FileReader.

Requires net9.0 or later. If you need .NET Framework or .NET Standard 2.0, use NAudio 2.x.

What it pulls in

Always, on every target framework:

  • NAudio.Core — the format-independent core: WaveStream, IWaveProvider / ISampleProvider, WAV and AIFF readers and writers, mixing, resampling, DSP, and the NAudio.Effects framework
  • NAudio.Midi — the MIDI event model and Standard MIDI File reading and writing

Additionally, on a Windows target framework:

  • NAudio.Wasapi — WASAPI playback, capture and loopback (WasapiPlayer / WasapiRecorder), plus Media Foundation codecs
  • NAudio.WinMM — WaveOut / WaveIn, classic MIDI I/O, ACM codecs and mixer controls via winmm.dll
  • NAudio.Asio — low-latency multichannel playback and capture through ASIO drivers
  • NAudio.Dmo — DMO effects, the DMO MP3 decoder and resampler, and DirectSoundOut
  • NAudio.WinForms — Windows Forms controls, and the window-callback WaveOutWindow / WaveInWindow

On a non-Windows target framework only the cross-platform pieces are referenced. If you only need a subset, reference the individual packages directly rather than this meta-package.

Optional packages

These are not pulled in by the meta-package — add them explicitly if you want them:

Package Platform What it gives you
NAudio.Sampler cross-platform Polyphonic software sampler — SoundFont (.sf2), SFZ and single-sample instruments
NAudio.SoundFile cross-platform Read and write WAV/AIFF/FLAC/Ogg-Vorbis/Opus/MP3 via libsndfile
NAudio.Alsa Linux AlsaOut / AlsaIn playback and capture via libasound
NAudio.Vst3 Windows VST 3 plug-in hosting (preview) — effects and instruments
NAudio.Extras cross-platform (+ Windows extras) Opinionated helpers — playback engine, capture mixing, ID3 tags

Getting started

using NAudio.Wave;

using var audioFile = new AudioFileReader("myfile.mp3");
using var player = new WasapiPlayerBuilder().Build();
player.Init(audioFile);
player.Play();
while (player.PlaybackState == PlaybackState.Playing)
{
    Thread.Sleep(500);
}

License

MIT. See the project site for source, issues, and contribution guidelines.

No packages depend on NAudio.

* Fixed `DirectSoundOut` failing every playback with `DirectSoundException 0x80004001` (or an `ArgumentException` for a format with extra data, e.g. one read from a WAV by `WaveFileReader`): the secondary buffer's `WAVEFORMATEX` was still a GCHandle-pinned `WaveFormat` instance — a site missed in the #1432 marshalling conversion, since `WaveFormat` no longer carries `[StructLayout]` — and now marshals via `WaveFormat.MarshalToPtr` * Fixed `WasapiPlayer` and `WasapiOut` being stranded in the `Playing` state, unable to play again, when the source's `Read` threw or the source ended before the first buffer was filled (#1442) * **macOS support (preview)** - A new wrappers library is added wrapping macOS native API's for playback/recording, reading/writing files and resampling audio. The `NAudio.MacOS` package ships pre-release only (`X.Y.Z-preview.N`) while its API settles, so it stays pre-release alongside stable releases of the other packages. Special thanks to @mdcdi1315 (#1325) for the work and the tests. For more information, see the [design](Docs/Architecture/MacOSWrappersDesign.md) doc that describes the decisions that helped shape the wrappers. (#1398) * **VB.NET support** - Added `SampleProviderBase` and `WaveProviderBase`, base classes that keep the NAudio 2 `Read(buffer, offset, count)` signature for languages that cannot name a `Span<T>` in a method signature, and a [Using NAudio from VB.NET](Docs/UsingNAudioFromVB.md) guide covering playback, recording and custom providers from VB (#1426)

.NET 9.0

.NET 9.0

.NET 9.0

Version Downloads Last updated
3.1.1-preview.2 1 09/25/2026
3.1.1-preview.1 2 09/15/2026
3.1.0 2 09/15/2026
3.1.0-preview.2 2 09/15/2026
3.1.0-preview.1 2 09/15/2026
3.0.2-preview.2 2 09/15/2026
3.0.2-preview.1 2 09/15/2026
3.0.1 2 09/15/2026
3.0.1-preview.1 2 09/15/2026
3.0.0 2 09/15/2026
3.0.0-preview.20 2 09/15/2026
3.0.0-preview.19 2 09/15/2026
3.0.0-preview.18 2 09/15/2026
3.0.0-preview.17 2 09/15/2026
3.0.0-preview.16 2 09/15/2026
3.0.0-preview.15 2 09/15/2026
3.0.0-preview.14 2 09/15/2026
3.0.0-preview.10 2 09/15/2026
3.0.0-preview.9 2 09/15/2026
3.0.0-preview.8 2 09/15/2026
3.0.0-preview.7 2 09/15/2026
3.0.0-preview.6 2 09/15/2026
3.0.0-preview.5 2 09/15/2026
3.0.0-preview.4 2 09/15/2026
3.0.0-preview.3 2 09/15/2026
3.0.0-preview.2 2 09/15/2026
2.4.0 2 09/15/2026
2.3.0 2 09/15/2026
2.2.1 2 09/15/2026
2.2.0 2 09/15/2026
2.1.0 2 09/15/2026
2.1.0-beta.1 2 09/15/2026
2.0.1 2 09/15/2026
2.0.0 2 09/15/2026
2.0.0-beta2 2 09/15/2026
2.0.0-beta1 2 09/15/2026
1.10.0 3 09/15/2026
1.9.0 2 09/15/2026
1.9.0-preview2 2 09/15/2026
1.9.0-preview1 2 09/15/2026
1.8.5 2 09/15/2026
1.8.4 2 09/15/2026
1.8.3 3 09/15/2026
1.8.2 2 09/15/2026
1.8.1 2 09/15/2026
1.8.0 2 09/15/2026
1.7.3 6 09/15/2026
1.7.2 2 09/15/2026
1.7.1 2 09/15/2026
1.7.0 2 09/15/2026
1.7.0-beta01 2 09/15/2026
1.7.0-alpha06 2 09/15/2026
1.7.0-alpha05 2 09/15/2026
1.7.0-alpha04 2 09/15/2026
1.7.0-alpha03 2 09/15/2026
1.7.0-alpha02 2 09/15/2026
1.7.0-alpha01 2 09/15/2026
1.6.0 2 09/15/2026
1.5.7-beta 2 09/15/2026
1.5.6-beta 2 09/15/2026
1.5.5-beta 2 09/15/2026
1.5.4-beta 2 09/15/2026
1.5.3-beta 2 09/15/2026
1.5.2-beta 2 09/15/2026
1.5.1-beta 2 09/15/2026
1.5.0 2 09/15/2026