comparison src/FeatureConditioner.cpp @ 185:a17b22abd551 re-minimise

Code now builds, DistanceMetric tests fail
author Chris Cannam
date Thu, 26 Feb 2015 10:28:23 +0000
parents d1bc89794cd4
children 175c8f044e7c
comparison
equal deleted inserted replaced
184:6c12db195986 185:a17b22abd551
32 << ", silenceThreshold = " << parameters.silenceThreshold 32 << ", silenceThreshold = " << parameters.silenceThreshold
33 << ", decay = " << parameters.decay << endl; 33 << ", decay = " << parameters.decay << endl;
34 #endif 34 #endif
35 } 35 }
36 36
37 vector<double> 37 feature_t
38 FeatureConditioner::process(const vector<double> &feature) 38 FeatureConditioner::process(const feature_t &feature)
39 { 39 {
40 if (m_prev.empty()) { 40 if (m_prev.empty()) {
41 m_prev.resize(feature.size(), 0.0); 41 m_prev.resize(feature.size(), 0.0);
42 } 42 }
43 if (m_prev.size() != feature.size()) { 43 if (m_prev.size() != feature.size()) {
47 return feature; 47 return feature;
48 } 48 }
49 49
50 int size = static_cast<int>(feature.size()); 50 int size = static_cast<int>(feature.size());
51 51
52 vector<double> out(size, 0.0); 52 feature_t out(size, 0.0);
53 53
54 double totalEnergy = 0; 54 double totalEnergy = 0;
55 55
56 switch (m_params.order) { 56 switch (m_params.order) {
57 57
92 for (int i = 0; i < size; i++) { 92 for (int i = 0; i < size; i++) {
93 out[i] = 0; 93 out[i] = 0;
94 } 94 }
95 } else if (m_params.norm == NormaliseToSum1) { 95 } else if (m_params.norm == NormaliseToSum1) {
96 for (int i = 0; i < size; i++) { 96 for (int i = 0; i < size; i++) {
97 out[i] /= totalEnergy; 97 out[i] = featurebin_t(out[i] / totalEnergy);
98 } 98 }
99 } else if (m_params.norm == NormaliseToLTAverage) { 99 } else if (m_params.norm == NormaliseToLTAverage) {
100 for (int i = 0; i < size; i++) { 100 for (int i = 0; i < size; i++) {
101 out[i] /= m_ltAverage; 101 out[i] = featurebin_t(out[i] / m_ltAverage);
102 } 102 }
103 } 103 }
104 104
105 m_prev = feature; 105 m_prev = feature;
106 return out; 106 return out;