C#的音频播放和频谱分析库

Bor*_*ris 4 c# audio analysis frequency

我想创建一个播放音乐文件的小应用程序(格式并不重要).困难的部分是:同时我想显示较低频率(低音),中频和高频的电流幅度.

所以我需要一些简单的频谱分析和回放功能.是否有一个C#音频库可以做到这一点没有太多的麻烦?

这个项目的目的是驱动我最近安装在我房间里的RGB-LED照明系统;-)

cat*_*ier 10

NAudio:http://naudio.codeplex.com/ (开源)

低音和Bass.Net:http://www.un4seen.com/(免费用于非商业)

Fmod Ex:http://www.fmod.org/index.html (也可免费用于非商业用途)

使用Bass做你需要的东西很容易:

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);
Run Code Online (Sandbox Code Playgroud)

然后获得频谱:

float[] buffer = new float[256];
Bass.BASS_ChannelGetData(handle, buffer, (int)BASSData.BASS_DATA_FFT256);
Run Code Online (Sandbox Code Playgroud)

从那里你可以很容易地平均特定频率的频段