comparison cq/Chromagram.h @ 171:a12642e36167

Expose a few more parameters, adjust some names for better consistency with spectrogram class
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 05 Feb 2015 09:52:49 +0000
parents b96b0addbca7
children 223f2a8c4f65
comparison
equal deleted inserted replaced
170:b96b0addbca7 171:a12642e36167
31 31
32 #ifndef CQCHROMAGRAM_H 32 #ifndef CQCHROMAGRAM_H
33 #define CQCHROMAGRAM_H 33 #define CQCHROMAGRAM_H
34 34
35 #include "CQBase.h" 35 #include "CQBase.h"
36 #include "CQParameters.h"
36 37
37 class CQSpectrogram; 38 class CQSpectrogram;
38 39
39 class Chromagram 40 class Chromagram
40 { 41 {
41 public: 42 public:
42 struct Parameters { 43 struct Parameters {
43 Parameters(double sr) : 44 Parameters(double sr) :
44 sampleRate(sr), 45 sampleRate(sr),
45 lowestOctave(0), 46 lowestOctave(0),
46 octaves(7), 47 octaveCount(7),
47 bpo(36), 48 binsPerOctave(36),
48 tuningFrequency(440.) { } 49 tuningFrequency(440.),
50 q(1.0), // Q scaling factor
51 atomHopFactor(0.25), // hop size of shortest temporal atom
52 threshold(0.0005), // sparsity threshold for resulting kernel
53 window(CQParameters::SqrtBlackmanHarris) // window shape
54 { }
55
49 double sampleRate; 56 double sampleRate;
50 int lowestOctave; 57 int lowestOctave;
51 int octaves; 58 int octaveCount;
52 int bpo; 59 int binsPerOctave;
60
53 double tuningFrequency; 61 double tuningFrequency;
62 double q;
63 double atomHopFactor;
64 double threshold;
65 CQParameters::WindowType window;
54 }; 66 };
55 67
56 Chromagram(Parameters params); 68 Chromagram(Parameters params);
57 virtual ~Chromagram(); 69 virtual ~Chromagram();
58 70