Kemarin, kita sudah membahas, apa itu Dynamic Link Library, bagaimana cara membuat mp3player dengan Windows Multi Media Library (wmm.dll), membuat player dengan Windows Media Player Library (wmp.dll), bahkan sampai membuat Audio Video player dengan Windows Media Player Component. Sekarang kita akan menggunakan salah satu Library yang sangat bagus, powerfull, banyak digunakan orang dan satu lagi yaitu open source. Jadi kita bebas menggunakan baik untuk komersial maupun untuk pribadi. Tidak hanya untuk player, library ini pun digunakan untuk audio editing (mixed, record, effect, dan lainnya).
Apakah library tersebut??? NAudio :)
Ingin tahu tentang fasilitas dari NAudio ini? coba perhatikan berikut ini:
-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
Menakjubkan bukan?? kita hanya perlu meng-includekan NAudio library ke dalam references dan kita dapat menggunakan semua class untuk pembuatan player maupun editor.
Nah, pada tutorial berikutnya kita akan membuat video praktek untuk pembuatan player maupun editor audio dengan library ini.
Saya lebih tertariknya ke Playback Api yang disuport yaitu IwavePlayer, Waveout, Directsound, ASIO, dan Wasapi.Nah, tentang playback ini dapat anda baca lebih detail di Mark dot net blog.
Secara default, untuk playback API NAudio adalah WaveOut, tapi anda dapat menggunakan Directsound yang juga disupport oleh banyak komputer. Terus, bagaimana cara menggunakannya?? Nanti kita akan bahas pada tutorial selanjutnya saat praktek membuat aplikasi dengan video tutorial.
Dalam halaman downloadnya pun anda dapat melihat demo project, kemudian source code yang belum dicompile alias masih mentah belum dalam bentuk .dll.
Andapun juga dapat menambahkan ide atau saran ke Mark sekaligus dapat juga mensubmit project anda ke NAudio documentation.
Coba lihat, banyak sekali project yang menggunakan NAudio sebagai library audionya:
- 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
Ingat bahwa Mark membuat library ini untuk .NET dan C# sehingga untuk anda pengguna bahasa lain dan framework lain maka pasti ada library lain yang dapat anda gunakan di luaran sana.
*Download NAudio Library di sini
*Lihat NAudio Documentation di sini
*NAudio development di sini
*Tutorial NAudio oleh Mark di sini