Mercurial > hg > audio-file-loader
annotate chromagramm/ChordDetect.h @ 2:fa2af670b5c5 tip
SoundFileLoader might have moved
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Fri, 06 Jan 2012 00:23:26 +0000 |
parents | bcb0d40158f4 |
children |
rev | line source |
---|---|
andrew@0 | 1 /* |
andrew@0 | 2 * ChordDetect.h |
andrew@0 | 3 * ChordDetect |
andrew@0 | 4 * |
andrew@0 | 5 * Created by Adam Stark on 28/04/2008. |
andrew@0 | 6 * Copyright 2008 __MyCompanyName__. All rights reserved. |
andrew@0 | 7 * |
andrew@0 | 8 */ |
andrew@0 | 9 |
andrew@0 | 10 #ifndef CHORDDETECT_H |
andrew@0 | 11 #define CHORDDETECT_H |
andrew@0 | 12 |
andrew@0 | 13 #include "fftw3.h" |
andrew@0 | 14 |
andrew@0 | 15 class ChordDetect |
andrew@0 | 16 { |
andrew@0 | 17 public: |
andrew@0 | 18 ChordDetect(); // constructor |
andrew@0 | 19 ~ChordDetect(); // destructor |
andrew@0 | 20 void C_Detect(float c[],float c_low[]); |
andrew@0 | 21 |
andrew@0 | 22 int root; |
andrew@0 | 23 int quality; |
andrew@0 | 24 int intervals; |
andrew@0 | 25 |
andrew@0 | 26 private: |
andrew@0 | 27 void makeprofiles(); |
andrew@0 | 28 void calculateweightings(); |
andrew@0 | 29 void classifychromagram(); |
andrew@0 | 30 |
andrew@0 | 31 float calcchordvalue(float c[],float T[],float biasval, float N); |
andrew@0 | 32 float max(float array[],int length); |
andrew@0 | 33 int minindex(float array[],int length); |
andrew@0 | 34 |
andrew@0 | 35 float chroma[12]; |
andrew@0 | 36 float chroma_low[12]; |
andrew@0 | 37 float weight_sus[12]; |
andrew@0 | 38 float weight_aug[12]; |
andrew@0 | 39 float profiles[108][12]; |
andrew@0 | 40 float w_profile[12]; |
andrew@0 | 41 |
andrew@0 | 42 float chord[108]; |
andrew@0 | 43 |
andrew@0 | 44 float bias; |
andrew@0 | 45 |
andrew@0 | 46 |
andrew@0 | 47 }; |
andrew@0 | 48 |
andrew@0 | 49 #endif |