Skip to content
Mark Heath edited this page Feb 17, 2015 · 7 revisions

We're in the process of moving the NAudio documentation here, but while we do so, please check the NAudio documentation page at CodePlex.

Features

  • Play back audio using a variety of APIs
    • WaveOut
    • DirectSound
    • ASIO
    • WASAPI (Windows Vista and above)
  • Read audio from many standard file formats
    • WAV
    • AIFF
    • WMA
    • SoundFont files (SF2)
  • Decode many popular audio compression types
    • MP3 (using ACM, DMO or MFT)
    • G.711 mu-law and a-law
    • ADPCM
    • G.722
    • Speex (using NSpeex)
    • WMA, AAC, MP4 and more others with Media Foundation
  • Convert between various forms of uncompressed audio
    • Change the number of channels - Mono to stereo, stereo to mono
    • Modify bit depth (8,16,24,32 integer or 32 bit IEEE float)
    • Resample audio using a choice of resampling algorithms
  • Encode audio using any ACM or Media Foundation codec installed on your computer
    • Create MP3s on Windows 8 and above
    • Create AAC/MP4 audio on Windows 7 and above
    • Create WMA files
    • Create WAV files containing G.711, ADPCM, G.722 etc
  • Mix and manipulate audio streams using a 32 bit floating mixing engine
    • construct signal chains
    • examine sample levels for the purposes of metering or waveform rendering
    • pass blocks of samples through an FFT for metering or DSP
    • delay, loop, or fade audio in and out
    • Perform EQ with a BiQuad filter (allowing low pass, high pass, peaking EQ etc)
  • Record audio
    • using WaveIn, WASAPI or ASIO
  • Work with soundcards
    • Enumerate devices
    • Access soundcard controls and metering information
  • Full MIDI event model
    • Read and write MIDI files
    • Respond to received MIDI events
    • Send MIDI events
  • An extensible model
    • All base classes easily inherited from for you to add your

Installing NAudio

The simplest way to get started with NAudio is to install the NAudio NuGet package. You can do this with the "Manage NuGet Packages..." context menu option for your project with Visual Studio

PM> Install-Package NAudio

We also sometimes publish pre-release builds of NAudio to NuGet, so you can try out the latest features before they are officially released.

Prerequisites

NAudio can be used from any .NET application targeting .NET 3.5 or above. Currently there is preview support for Windows Store applications, but no support yet for Windows Phone.

Bear in mind that many features of NAudio rely on operating system APIs and codecs, so the exact capabilities of NAudio will depend on what version of Windows you are using. Generally speaking the best experience will be on Windows 7 or above, but NAudio can be used with Windows XP and above. Also bear in mind that if you are using NAudio on Windows Server, you may need to enable various Windows features including the [https://technet.microsoft.com/en-us/library/cc772567.aspx](Desktop experience feature) in order to enable the full functionality.

Clone this wiki locally