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 2001 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 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.- 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 (not currently working with all soundcards)
- WASAPI (Windows Vista Core Audio)
- 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 or WASAPI
- 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
- 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
- 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