2012-09-27 4 views
4

Je voudrais créer une petite application qui lit un fichier musical (le format n'a pas vraiment d'importance). La partie difficile est: en même temps je voudrais afficher l'amplitude actuelle des basses fréquences (basses), les moyennes fréquences et les hautes fréquences. Donc, j'aurais besoin d'une sorte d'analyse spectrale simple avec la fonctionnalité de lecture. Y at-il une bibliothèque audio C# qui peut le faire sans trop de tracas?Lecture audio et analyse de spectre libarary pour C#

Le but de ce projet est de conduire un système d'éclairage LED RGB-je ai récemment installé dans ma chambre ;-)

+1

http://stackoverflow.com/questions/4422983/best-open-source-project -for-audio-signal-traitement –

Répondre

9

NAudio: http://naudio.codeplex.com/ (Open source)

basse et Bass.Net: http://www.un4seen.com/ (gratuit pour un non commercial)

Fmod Ex: http://www.fmod.org/index.html (également gratuit pour un usage non commercial)

Faire ce que vous avez besoin en utilisant Bass est très facile:

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); 

ensuite pour obtenir le spectre:

float[] buffer = new float[256]; 
Bass.BASS_ChannelGetData(handle, buffer, (int)BASSData.BASS_DATA_FFT256); 

De là, vous pouvez facilement les bandes moyennes pour des fréquences spécifiques

+0

Nice, qui semble extrêmement facile à utiliser. Je vais essayer! – Boris

+0

Dommage que les licences soient si chères pour Bass et Fmod. – UpTheCreek

Questions connexes