NAudio 3.2.0
Prefix Reserveddotnet add package NAudio --version 3.2.0
NuGet\Install-Package NAudio -Version 3.2.0
<PackageReference Include="NAudio" Version="3.2.0" />
<PackageVersion Include="NAudio" Version="3.2.0" />
<PackageReference Include="NAudio" />
paket add NAudio --version 3.2.0
#r "nuget: NAudio, 3.2.0"
#:package NAudio@3.2.0
#addin nuget:?package=NAudio&version=3.2.0
#tool nuget:?package=NAudio&version=3.2.0
NAudio
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 theNAudio.Effectsframework - 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 viawinmm.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);
}
- Documentation site — tutorials and the full API reference
- GitHub repository — source, issues, and the demo applications (
NAudioDemo,NAudioWpfDemo) - Migrating from NAudio 2 to NAudio 3 — every breaking change, with before/after code
License
MIT. See the project site for source, issues, and contribution guidelines.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net9.0-windows7.0 is compatible. net9.0-windows10.0.19041 is compatible. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- NAudio.Core (>= 3.2.0)
- NAudio.Midi (>= 3.2.0)
-
net9.0-windows10.0.19041
- NAudio.Asio (>= 3.2.0)
- NAudio.Core (>= 3.2.0)
- NAudio.Dmo (>= 3.2.0)
- NAudio.Midi (>= 3.2.0)
- NAudio.Wasapi (>= 3.2.0)
- NAudio.WinForms (>= 3.2.0)
- NAudio.WinMM (>= 3.2.0)
-
net9.0-windows7.0
- NAudio.Asio (>= 3.2.0)
- NAudio.Core (>= 3.2.0)
- NAudio.Dmo (>= 3.2.0)
- NAudio.Midi (>= 3.2.0)
- NAudio.Wasapi (>= 3.2.0)
- NAudio.WinForms (>= 3.2.0)
- NAudio.WinMM (>= 3.2.0)
NuGet packages (277)
Showing the top 5 NuGet packages that depend on NAudio:
| Package | Downloads |
|---|---|
|
SIL.Media
SIL.Media contains Windows Forms UI elements and classes for processing audio on Windows and Linux. |
|
|
AlphaTab.Windows
alphaTab is a cross platform music notation and guitar tablature rendering library. |
|
|
MilestoneSystems.VideoOS.Platform.SDK
Milestone Integration Platform Software Development Kit for standalone application development |
|
|
JTigerNova.Web.Lib.Service.Broadcast
Broadcast library of web service functions |
|
|
MicroServices
Micro Services Essential Pack |
GitHub repositories (239)
Showing the top 20 popular GitHub repositories that depend on NAudio:
| Repository | Stars |
|---|---|
|
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
|
|
|
lively-community/lively
Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3.
|
|
|
MathewSachin/Captura
Capture Screen, Audio, Cursor, Mouse Clicks and Keystrokes
|
|
|
STranslate/STranslate
A ready-to-go translation ocr tool developed with WPF/WPF 开发的一款即用即走的翻译、OCR工具
|
|
|
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
|
|
|
LorisYounger/VPet
虚拟桌宠模拟器 一个开源的桌宠软件, 可以内置到任何WPF应用程序
|
|
|
ScottPlot/ScottPlot
Interactive plotting library for .NET
|
|
|
Azure/azure-sdk-for-net
This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
|
|
|
immense/Remotely
A remote control and remote scripting solution, built with .NET 8, Blazor, and SignalR.
|
|
|
unchihugo/FluentFlyout
The modern Flyout app for Windows 11, built with Fluent 2 Design principles. Media Flyouts, Taskbar Widgets and more.
|
|
|
openutau/OpenUtau
Open singing synthesis platform / Open source UTAU successor
|
|
|
PCL-Community/PCL-CE
PCL 社区版 由社区开发者维护与管理
|
|
|
jitwxs/163MusicLyrics
云音乐歌词获取处理工具【网易云、QQ音乐】
|
|
|
ModernFlyouts-Community/ModernFlyouts
A modern Fluent Design replacement for the old Metro themed flyouts present in Windows.
|
|
|
SciSharp/LLamaSharp
A C#/.NET library to run LLM (🦙LLaMA/LLaVA) on your local device efficiently.
|
|
|
Azure-Samples/cognitive-services-speech-sdk
Sample code for the Microsoft Cognitive Services Speech SDK
|
|
|
Belphemur/SoundSwitch
C# application to switch default playing device. Download: https://soundswitch.aaflalo.me/
|
|
|
morkt/GARbro
Visual Novels resource browser
|
|
|
microsoft/Generative-AI-for-beginners-dotnet
Five lessons, learn how to really apply AI to your .NET Applications
|
|
|
SciSharp/BotSharp
AI Multi-Agent Framework in .NET
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.0 | 69 | 10/15/2026 |
| 3.2.0-preview.1 | 82 | 10/13/2026 |
| 3.1.1-preview.2 | 459 | 9/21/2026 |
| 3.1.1-preview.1 | 554 | 9/8/2026 |
| 3.1.0 | 93,231 | 9/7/2026 |
| 3.1.0-preview.2 | 138 | 9/5/2026 |
| 3.1.0-preview.1 | 124 | 9/4/2026 |
| 3.0.2-preview.2 | 243 | 8/27/2026 |
| 3.0.2-preview.1 | 312 | 8/20/2026 |
| 3.0.1 | 97,574 | 8/18/2026 |
| 3.0.1-preview.1 | 135 | 8/17/2026 |
| 3.0.0 | 12,759 | 8/15/2026 |
| 3.0.0-preview.20 | 719 | 8/8/2026 |
| 3.0.0-preview.19 | 780 | 7/25/2026 |
| 3.0.0-preview.18 | 1,659 | 7/16/2026 |
| 3.0.0-preview.17 | 231 | 7/11/2026 |
| 3.0.0-preview.16 | 686 | 7/1/2026 |
| 3.0.0-preview.15 | 263 | 6/28/2026 |
| 3.0.0-preview.14 | 225 | 6/25/2026 |
| 2.4.0 | 36,129 | 8/26/2026 |
A feature and tidy-up release. Its headline is a first preview of macOS
support: the new `NAudio.MacOS` package wraps Core Audio for playback and
recording, Extended Audio File Services for reading and writing compressed
formats, and AudioConverter for resampling. It ships pre-release only while its
API settles, alongside the stable versions of the other packages. VB.NET users
also get base classes and a guide that keep the NAudio 2 array-based `Read`
signature.
Several legacy APIs that have modern replacements are now `[Obsolete]`, to be
removed in the next major version. The
fixes include `DirectSoundOut`, which failed every playback in 3.1.0, and
`WasapiPlayer`/`WasapiOut` getting stuck in the `Playing` state after a source
error.
* **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)
* Deprecated legacy APIs that have modern replacements: `Wave16ToFloatProvider`, `WaveFloatTo16Provider` and `Wave32To16Stream` (use `ToSampleProvider()` / `ToWaveProvider16()`), `IgnoreDisposeStream` (no longer needed), `ByteArrayExtensions` (use the BCL), `MidiMessage` (use the typed MIDI events), `ResamplerDmoStream`/`DmoResampler` (use `MediaFoundationResampler` or `WdlResamplingSampleProvider`), `DmoEffectWaveProvider` and the `Dmo*` effects (use `NAudio.Effects`), `AsioOut`'s recording path (use `AsioDevice`), `WaveFilter`, and `ProgressLog`. Added `AsioOut.IsSupported()` and deprecated the lowercase `isSupported()` (#1466)
* Deprecated `WaveFileReader.ReadNextSampleFrame` in favour of `ToSampleProvider()`, which supports more formats and doesn't allocate an array per sample frame (#1465)
* Reduced allocations when reading and writing WAV files, added `ReadOnlySpan<byte>` overloads of `WaveFileWriter.AddChunk` and `ChunkIdentifier.ChunkIdentifierToInt32`, and fixed `WaveChunks.GetData` leaving the stream position changed when a read fails. `ChunkIdentifierToInt32` now throws `ArgumentOutOfRangeException` for identifiers that aren't four bytes (#1457)
* 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` (#1456)
* 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)
* Fixed `WaveFileWriter.WriteSample` and `WriteSamples(short[])` throwing for plain (non-extensible) 32-bit integer PCM formats (#1463)
* `WaveFileReader.ReadNextSampleFrame` now throws `InvalidDataException` for a WAV header with an invalid channel count or bit depth (#1464)
* Changed the `WaveStream.CurrentTime` setter to clamp to the bounds of the stream, and corrected the XML documentation for the core audio interfaces (#1441)
* Reworked the macOS `CoreAudioPlayer` and `CoreAudioRecorder` non-interleaved path, used for devices that expose one mono stream per channel; the recorder now also drains buffered audio when stopped, and non-interleaved streams carrying more than one channel are rejected explicitly (preview) (#1461)
* `ExtendedAudioFileServicesReader.CurrentTime` and `TotalTime` on macOS now throw `ObjectDisposedException` after the reader is disposed, rather than a native exception (preview) (#1451)
* Refreshed the NuGet package icon, now rendered from the new SVG version of the NAudio logo as a sharper, square 256×256 PNG (#1467)
* Fixed the Help and About links in the AudioFileInspector, MidiFileConverter and MixDiff sample apps, which threw on .NET 9 instead of opening the help page or browser, and pointed the links and help pages at GitHub rather than CodePlex (#1469)