Mercurial > hg > vamp-tempogram
comparison WindowFunction.cpp @ 9:be59b4a73f49
* Added Spectrogram zero padding functionality
* Made output bins correspond to BPM
* User can now specify a range of output bins to view
* Comments added
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Tue, 12 Aug 2014 14:40:37 +0100 |
parents | 21147df9cb2d |
children | 09fb76606b2b |
comparison
equal
deleted
inserted
replaced
8:4e429b9f2b4d | 9:be59b4a73f49 |
---|---|
7 // | 7 // |
8 | 8 |
9 #include "WindowFunction.h" | 9 #include "WindowFunction.h" |
10 using std::vector; | 10 using std::vector; |
11 | 11 |
12 //static function | |
12 void | 13 void |
13 WindowFunction::hanning(float *signal, const unsigned int N, const bool normalise){ | 14 WindowFunction::hanning(float *signal, const unsigned int N, const bool normalise){ |
14 | 15 |
15 float sum = 0; | 16 float sum = 0; |
16 for(int i = 0; i < N; i++){ | 17 for(int i = 0; i < N; i++){ |
17 signal[i] = 0.5*(1-cos((float)2*M_PI*i/N)); | 18 sum += signal[i] = 0.5*(1-cos((float)2*M_PI*i/N)); |
18 sum += signal[i]; | |
19 } | 19 } |
20 if (normalise){ | 20 if (normalise){ |
21 for(int i = 0; i < N; i++){ | 21 for(int i = 0; i < N; i++){ |
22 signal[i] /= sum; | 22 signal[i] /= sum; |
23 } | 23 } |