annotate 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
rev   line source
c@0 1 //
c@0 2 // WindowFunction.cpp
c@0 3 // Tempogram
c@0 4 //
c@0 5 // Created by Carl Bussey on 26/06/2014.
c@0 6 // Copyright (c) 2014 Carl Bussey. All rights reserved.
c@0 7 //
c@0 8
c@0 9 #include "WindowFunction.h"
c@0 10 using std::vector;
c@0 11
c@9 12 //static function
c@0 13 void
c@0 14 WindowFunction::hanning(float *signal, const unsigned int N, const bool normalise){
c@0 15
c@0 16 float sum = 0;
c@0 17 for(int i = 0; i < N; i++){
c@9 18 sum += signal[i] = 0.5*(1-cos((float)2*M_PI*i/N));
c@0 19 }
c@0 20 if (normalise){
c@0 21 for(int i = 0; i < N; i++){
c@0 22 signal[i] /= sum;
c@0 23 }
c@0 24 }
c@0 25 }