From 5b385abef33b20c122bddf9cc9e947594e0ebd32 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Mon, 4 Jun 2012 21:44:28 +0000 Subject: Bon. Partie pulse audio finie je pense. début de la partie galère sur le "vrai" calcul pour le vu-mètre. C'est compliqué car si on veut du dbA il faut faire une FFT pour appliquer des poids par fréquence. Analyse fréquentielle copiée depuis le projet Audacity (adaptée du C++ au C et décimée). Il y a des tas de petits mallocs pour la FFT et ça pue. D'ailleurs l'exécution de cette version donne un assertion failed sur malloc() que j'avais jamais vu... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2012-violon-leds/trunk@12 6be1fa4d-33ac-4c33-becc-79fcb3794bb6 --- tests/test5/compute.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/test5/compute.h') diff --git a/tests/test5/compute.h b/tests/test5/compute.h index 2454e56..90230a7 100644 --- a/tests/test5/compute.h +++ b/tests/test5/compute.h @@ -3,6 +3,18 @@ #include +gfloat compute_level(const float *data, size_t nsamples, size_t nchan); + +void compute_spectrom(float * data, int width, double rate, float *output); +void PowerSpectrum(float *In, float *Out); +void FFT(int NumSamples, gboolean InverseTransform, + float *RealIn, float *ImagIn, float *RealOut, float *ImagOut); +void InitFFT(); +int NumberOfBitsNeeded(int PowerOfTwo); +inline int FastReverseBits(int i, int NumBits); +int ReverseBits(int index, int NumBits); + + void audio2hsv_1(gint audio_level, gint *light_h, gint *light_s, gint *light_v); void hsv2rgb(gint h, gint s, gint v, gint *r, gint *g, gint *b); -- cgit v1.2.3