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.WinMMWaveOut / 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.

Showing the top 20 packages that depend on NAudio.

Packages Downloads
NDILibDotNetCoreBase
Provides a wrapper to the NDI libraries for Windows, macOS, and Linux.
17
NDILibDotNetCoreBase
Provides a wrapper to the NDI libraries for Windows, macOS, and eventually Linux.
17
NDILibDotNetCoreBase
Provides a wrapper to the NDI libraries for Windows, macOS, and eventually Linux.
13
NDILibDotNetCoreBase
Provides a wrapper to the NDI libraries for Windows, macOS, and Linux.
12

  • 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 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 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/22/2026
3.1.1-preview.1 8 09/10/2026
3.1.0 6 09/07/2026
3.1.0-preview.2 7 09/06/2026
3.1.0-preview.1 11 09/04/2026
3.0.2-preview.2 5 09/03/2026
3.0.2-preview.1 15 08/20/2026
3.0.1 11 08/18/2026
3.0.1-preview.1 11 08/18/2026
3.0.0 9 08/16/2026
3.0.0-preview.20 13 08/10/2026
3.0.0-preview.19 11 07/29/2026
3.0.0-preview.18 12 07/18/2026
3.0.0-preview.17 15 07/15/2026
3.0.0-preview.16 11 07/01/2026
3.0.0-preview.15 0 06/28/2026
3.0.0-preview.14 0 06/25/2026
3.0.0-preview.10 2 09/08/2026
3.0.0-preview.9 0 05/27/2026
3.0.0-preview.8 0 05/22/2026
3.0.0-preview.7 1 09/21/2026
3.0.0-preview.6 1 09/19/2026
3.0.0-preview.5 0 05/11/2026
3.0.0-preview.4 0 05/11/2026
3.0.0-preview.3 1 09/18/2026
3.0.0-preview.2 1 09/16/2026
2.4.0 8 08/28/2026
2.3.0 19 05/30/2026
2.2.1 18 05/30/2026
2.2.0 21 05/30/2026
2.1.0 15 05/30/2026
2.1.0-beta.1 15 05/30/2026
2.0.1 19 05/30/2026
2.0.0 18 05/30/2026
2.0.0-beta2 18 05/30/2026
2.0.0-beta1 17 05/30/2026
1.10.0 19 05/29/2026
1.9.0 15 05/30/2026
1.9.0-preview2 16 05/30/2026
1.9.0-preview1 15 05/30/2026
1.8.5 17 05/30/2026
1.8.4 18 05/30/2026
1.8.3 17 05/30/2026
1.8.2 16 05/30/2026
1.8.1 18 05/30/2026
1.8.0 1 09/21/2026
1.7.3 19 05/30/2026
1.7.2 15 05/30/2026
1.7.1 15 05/30/2026
1.7.0 15 05/30/2026
1.7.0-beta01 17 05/30/2026
1.7.0-alpha06 2 09/10/2026
1.7.0-alpha05 1 09/19/2026
1.7.0-alpha04 2 09/08/2026
1.7.0-alpha03 17 05/29/2026
1.7.0-alpha02 2 09/08/2026
1.7.0-alpha01 1 09/08/2026
1.6.0 18 05/30/2026
1.5.7-beta 1 09/20/2026
1.5.6-beta 0 10/09/2012
1.5.5-beta 0 09/11/2012
1.5.4-beta 2 09/18/2026
1.5.3-beta 0 03/05/2012
1.5.2-beta 0 03/03/2012
1.5.1-beta 0 03/02/2012
1.5.0 2 09/10/2026