comparison dsp/chromagram/Chromagram.cpp @ 34:ad645e404d0c

* Add range of normalise options to chromagram * bit of tidying
author cannam
date Tue, 22 Jan 2008 17:27:07 +0000
parents 8bb764969d50
children 114e833c07ac
comparison
equal deleted inserted replaced
33:499d438b52ba 34:ad645e404d0c
23 int Chromagram::initialise( ChromaConfig Config ) 23 int Chromagram::initialise( ChromaConfig Config )
24 { 24 {
25 m_FMin = Config.min; // min freq 25 m_FMin = Config.min; // min freq
26 m_FMax = Config.max; // max freq 26 m_FMax = Config.max; // max freq
27 m_BPO = Config.BPO; // bins per octave 27 m_BPO = Config.BPO; // bins per octave
28 isNormalised = Config.isNormalised; // true if frame normalisation is required 28 m_normalise = Config.normalise; // if frame normalisation is required
29 29
30 // No. of constant Q bins 30 // No. of constant Q bins
31 m_uK = ( unsigned int ) ceil( m_BPO * log(m_FMax/m_FMin)/log(2.0)); 31 m_uK = ( unsigned int ) ceil( m_BPO * log(m_FMax/m_FMin)/log(2.0));
32 32
33 // Create array for chroma result 33 // Create array for chroma result
155 { 155 {
156 m_chromadata[i] += kabs( m_CQRe[ firstBin + i ], m_CQIm[ firstBin + i ]); 156 m_chromadata[i] += kabs( m_CQRe[ firstBin + i ], m_CQIm[ firstBin + i ]);
157 } 157 }
158 } 158 }
159 159
160 if( isNormalised ) 160 MathUtilities::normalise(m_chromadata, m_BPO, m_normalise);
161 unityNormalise( m_chromadata );
162 161
163 return m_chromadata; 162 return m_chromadata;
164 } 163 }
165 164
166 165