NAudio Overview
NAudio is an open source .NET audio and MIDI library, containing dozens of useful audio related classes intended to speed development of audio related utilities in .NET. It has been in development since 2002 and has grown to include a wide variety of features. While some parts of the library are relatively new and incomplete, the more mature features have undergone extensive testing and can be quickly used to add audio capabilities to an existing .NET application. NAudio can be quickly added to your .NET application using NuGet.NAudio demo project showing an MP3 file playing:
NAudio WPF Project showing waveform visualisation and spectrum analyser:
Latest News
For the latest news and more documentation on NAudio, visit Mark Heath's blog.- 9 Sep 2012 ASIO Recording Support added
- 19 Dec 2011 NAudio 1.5 Released. Read the release notes
- 20 Apr 2011 NAudio 1.4 Released. Read the release notes
- 15 Apr 2011 NAudio demo now shows how to select output devices (for WaveOut, DirectSound, WASAPI and ASIO), and can play 8 bit, 16 bit, 24 bit, and 32 bit float WAV files. Fixed a longstanding ASIO issue.
- 7 Nov 2010 Major improvements to Mp3FileReader
- 10 Oct 2009 Version 1.3 Released. Read the release notes
- 20 Sep 2009 We are getting close to feature complete for 1.3. Last chance to get in any feedback on the API
- 26 Aug 2009 WPF Waveform drawing demo project including FFT added
- 28 Feb 2009 Lots of new stuff is being added and planned, so do check out the Source Code tab to have a sneak peak at what's coming in 1.3
- 26 June 2008 Version 1.2 Released. Read the release notes
NAudio Features
- Play back audio using a variety of APIs
- WaveOut
- DirectSound
- ASIO
- WASAPI (Windows Vista and above)
- Decompress audio from different Wave Formats
- MP3 decode using ACM or DMO codec
- AIFF
- G.711 mu-law and a-law
- ADPCM
- G.722
- Speex (using NSpeex)
- SF2 files
- Decode using any ACM codec installed on your computer
- Record audio using WaveIn, WASAPI or ASIO
- Read and Write standard .WAV files
- Mix and manipulate audio streams using a 32 bit floating mixing engine
- Extensive support for reading and writing MIDI files
- Full MIDI event model
- Basic support for Windows Mixer APIs
- A collection of useful Windows Forms Controls
- Some basic audio effects, including a compressor
Projects Using NAudio
NAudio currently is used to support a number of audio related utilities, some of which may be moved to be hosted on CodePlex in the future. If you have used NAudio for a project, please get in touch so we can post it here.- Skype Voice Changer - Modify your voice with audio effects while talking on Skype
- .NET Voice Recorder - Record your voice, save to MP3, and visualise the waveform using WPF. Now includes autotune
- MIDI File Mapper - Utility for mapping MIDI drum files for use on other samplers
- MIDI File Splitter - Split MIDI files up at their markers
- SharpMod - managed port of MikMod, can play mod files in both WinForms and Silverlight
- NVorbis - Fully managed Vorbis decoder, with support for NAudio
- Practice# - Windows tool for practicing playing an instrument with playback music. Includes FLAC playback support and an equaliser for NAudio.
- WPF Sound Visualization Library - beautiful waveform and spectrum analyzer code written for WPF, comes with NAudio sample
- SIPSorcery - .NET softphone framework
- Squiggle - A free open source LAN Messenger
- Helix 3D toolkit
- airphone-tv - A revival of axStream to implement control through the iPhone
- JamNet - a Silverlight drum sample player
- Jingle Jim - Jingle Software (German language)
- All My Music
- iSpy - Open Source Camera Security Software
- RadioTuna - Online internet radio player
- Fire Talk New - chat program
- AVR Audio Guard - utility to fix a HDMI related issue