NAudio: http://naudio.codeplex.com/ (open source)
Bass and Bass.Net: http://www.un4seen.com/ (free for non-profit)
Fmod Ex: http://www.fmod.org/index.html (also free for non-commercial use)
Doing what you need with Bass is very simple:
string filepath =""; Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero, null); int handle = Bass.BASS_StreamCreateFile(filepath, 0, 0, BASSFlag.BASS_SAMPLE_FLOAT); Bass.BASS_ChannelPlay(handle,false);
Then to get the spectrum:
float[] buffer = new float[256]; Bass.BASS_ChannelGetData(handle, buffer, (int)BASSData.BASS_DATA_FFT256);
From there, you can easily average the bands for specific frequencies.
source share