Mercurial > hg > qm-dsp
comparison dsp/onsets/PeakPicking.cpp @ 499:af5b7ef02aa7
Style fixes: avoid unsigned, fix formatting
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 03 Jun 2019 14:20:39 +0100 |
parents | fdaa63607c15 |
children |
comparison
equal
deleted
inserted
replaced
498:8b92623e81c9 | 499:af5b7ef02aa7 |
---|---|
71 delete [] m_workBuffer; | 71 delete [] m_workBuffer; |
72 delete m_DFSmoothing; | 72 delete m_DFSmoothing; |
73 m_workBuffer = NULL; | 73 m_workBuffer = NULL; |
74 } | 74 } |
75 | 75 |
76 void PeakPicking::process( double* src, unsigned int len, vector<int> &onsets ) | 76 void PeakPicking::process( double* src, int len, vector<int> &onsets ) |
77 { | 77 { |
78 if (len < 4) return; | 78 if (len < 4) return; |
79 | 79 |
80 vector <double> m_maxima; | 80 vector <double> m_maxima; |
81 | 81 |
82 // Signal conditioning | 82 // Signal conditioning |
83 m_DFSmoothing->process( src, m_workBuffer ); | 83 m_DFSmoothing->process( src, m_workBuffer ); |
84 | 84 |
85 for( unsigned int u = 0; u < len; u++) { | 85 for (int i = 0; i < len; i++) { |
86 m_maxima.push_back( m_workBuffer[ u ] ); | 86 m_maxima.push_back( m_workBuffer[ i ] ); |
87 } | 87 } |
88 | 88 |
89 quadEval( m_maxima, onsets ); | 89 quadEval( m_maxima, onsets ); |
90 | 90 |
91 for( int b = 0; b < (int)m_maxima.size(); b++) { | 91 for( int b = 0; b < (int)m_maxima.size(); b++) { |
92 src[ b ] = m_maxima[ b ]; | 92 src[ b ] = m_maxima[ b ]; |
93 } | 93 } |
94 } | 94 } |
95 | 95 |
96 int PeakPicking::quadEval( vector<double> &src, vector<int> &idx ) | 96 int PeakPicking::quadEval( vector<double> &src, vector<int> &idx ) |
97 { | 97 { |
98 unsigned int maxLength; | 98 int maxLength; |
99 | 99 |
100 vector <int> m_maxIndex; | 100 vector <int> m_maxIndex; |
101 vector <int> m_onsetPosition; | 101 vector <int> m_onsetPosition; |
102 | 102 |
103 vector <double> m_maxFit; | 103 vector <double> m_maxFit; |
106 | 106 |
107 m_poly.push_back(0); | 107 m_poly.push_back(0); |
108 m_poly.push_back(0); | 108 m_poly.push_back(0); |
109 m_poly.push_back(0); | 109 m_poly.push_back(0); |
110 | 110 |
111 for( int t = -2; t < 3; t++) { | 111 for (int t = -2; t < 3; t++) { |
112 m_err.push_back( (double)t ); | 112 m_err.push_back( (double)t ); |
113 } | 113 } |
114 | 114 |
115 for( unsigned int i = 2; i < src.size() - 2; i++) { | 115 for (int i = 2; i < int(src.size()) - 2; i++) { |
116 if( (src[i] > src[i-1]) && (src[i] > src[i+1]) && (src[i] > 0) ) { | 116 if ((src[i] > src[i-1]) && (src[i] > src[i+1]) && (src[i] > 0) ) { |
117 m_maxIndex.push_back(i); | 117 m_maxIndex.push_back(i); |
118 } | 118 } |
119 } | 119 } |
120 | 120 |
121 maxLength = m_maxIndex.size(); | 121 maxLength = int(m_maxIndex.size()); |
122 | 122 |
123 double selMax = 0; | 123 double selMax = 0; |
124 | 124 |
125 for( unsigned int j = 0; j < maxLength ; j++) { | 125 for (int j = 0; j < maxLength ; j++) { |
126 for (int k = -2; k <= 2; ++k) { | 126 for (int k = -2; k <= 2; ++k) { |
127 selMax = src[ m_maxIndex[j] + k ] ; | 127 selMax = src[ m_maxIndex[j] + k ] ; |
128 m_maxFit.push_back(selMax); | 128 m_maxFit.push_back(selMax); |
129 } | 129 } |
130 | 130 |