Mercurial > hg > btrack
comparison src/OnsetDetectionFunction.cpp @ 20:baf35f208814 develop
Replaced switch statements in OnsetDetectionFunction with enums. Renamed lots of functions so that they have better names, in camel case. Added some unit tests for initialisation of BTrack.
author | Adam <adamstark.uk@gmail.com> |
---|---|
date | Thu, 23 Jan 2014 15:31:11 +0000 |
parents | 73c64ca0ed23 |
children | a8e3e95d14e4 |
comparison
equal
deleted
inserted
replaced
19:88c8d3862eee | 20:baf35f208814 |
---|---|
118 phase_old_2 = new double[framesize]; | 118 phase_old_2 = new double[framesize]; |
119 | 119 |
120 | 120 |
121 // set the window to the specified type | 121 // set the window to the specified type |
122 switch (arg_win_type){ | 122 switch (arg_win_type){ |
123 case 0: | 123 case RectangularWindow: |
124 set_win_rectangular(); // Rectangular window | 124 set_win_rectangular(); // Rectangular window |
125 break; | 125 break; |
126 case 1: | 126 case HanningWindow: |
127 set_win_hanning(); // Hanning Window | 127 set_win_hanning(); // Hanning Window |
128 break; | 128 break; |
129 case 2: | 129 case HammingWindow: |
130 set_win_hamming(); // Hamming Window | 130 set_win_hamming(); // Hamming Window |
131 break; | 131 break; |
132 case 3: | 132 case BlackmanWindow: |
133 set_win_blackman(); // Blackman Window | 133 set_win_blackman(); // Blackman Window |
134 break; | 134 break; |
135 case 4: | 135 case TukeyWindow: |
136 set_win_tukey(); // Tukey Window | 136 set_win_tukey(); // Tukey Window |
137 break; | 137 break; |
138 default: | 138 default: |
139 set_win_hanning(); // DEFAULT: Hanning Window | 139 set_win_hanning(); // DEFAULT: Hanning Window |
140 } | 140 } |
185 frame[i] = inputbuffer[j]; | 185 frame[i] = inputbuffer[j]; |
186 j++; | 186 j++; |
187 } | 187 } |
188 | 188 |
189 switch (df_type){ | 189 switch (df_type){ |
190 case 0: | 190 case EnergyEnvelope: |
191 df_sample = energy_envelope(); // calculate energy envelope detection function sample | 191 { |
192 break; | 192 // calculate energy envelope detection function sample |
193 case 1: | 193 df_sample = energy_envelope(); |
194 df_sample = energy_difference(); // calculate half-wave rectified energy difference detection function sample | 194 break; |
195 break; | 195 } |
196 case 2: | 196 case EnergyDifference: |
197 df_sample = spectral_difference(); // calculate spectral difference detection function sample | 197 { |
198 break; | 198 // calculate half-wave rectified energy difference detection function sample |
199 case 3: | 199 df_sample = energy_difference(); |
200 df_sample = spectral_difference_hwr(); // calculate spectral difference detection function sample (half wave rectified) | 200 break; |
201 break; | 201 } |
202 case 4: | 202 case SpectralDifference: |
203 df_sample = phase_deviation(); // calculate phase deviation detection function sample (half wave rectified) | 203 { |
204 break; | 204 // calculate spectral difference detection function sample |
205 case 5: | 205 df_sample = spectral_difference(); |
206 df_sample = complex_spectral_difference(); // calcualte complex spectral difference detection function sample | 206 break; |
207 break; | 207 } |
208 case 6: | 208 case SpectralDifferenceHWR: |
209 df_sample = complex_spectral_difference_hwr(); // calcualte complex spectral difference detection function sample (half-wave rectified) | 209 { |
210 break; | 210 // calculate spectral difference detection function sample (half wave rectified) |
211 case 7: | 211 df_sample = spectral_difference_hwr(); |
212 df_sample = high_frequency_content(); // calculate high frequency content detection function sample | 212 break; |
213 break; | 213 } |
214 case 8: | 214 case PhaseDeviation: |
215 df_sample = high_frequency_spectral_difference(); // calculate high frequency spectral difference detection function sample | 215 { |
216 break; | 216 // calculate phase deviation detection function sample (half wave rectified) |
217 case 9: | 217 df_sample = phase_deviation(); |
218 df_sample = high_frequency_spectral_difference_hwr(); // calculate high frequency spectral difference detection function (half-wave rectified) | 218 break; |
219 break; | 219 } |
220 case ComplexSpectralDifference: | |
221 { | |
222 // calcualte complex spectral difference detection function sample | |
223 df_sample = complex_spectral_difference(); | |
224 break; | |
225 } | |
226 case ComplexSpectralDifferenceHWR: | |
227 { | |
228 // calcualte complex spectral difference detection function sample (half-wave rectified) | |
229 df_sample = complex_spectral_difference_hwr(); | |
230 break; | |
231 } | |
232 case HighFrequencyContent: | |
233 { | |
234 // calculate high frequency content detection function sample | |
235 df_sample = high_frequency_content(); | |
236 break; | |
237 } | |
238 case HighFrequencySpectralDifference: | |
239 { | |
240 // calculate high frequency spectral difference detection function sample | |
241 df_sample = high_frequency_spectral_difference(); | |
242 break; | |
243 } | |
244 case HighFrequencySpectralDifferenceHWR: | |
245 { | |
246 // calculate high frequency spectral difference detection function (half-wave rectified) | |
247 df_sample = high_frequency_spectral_difference_hwr(); | |
248 break; | |
249 } | |
220 default: | 250 default: |
251 { | |
221 df_sample = 1.0; | 252 df_sample = 1.0; |
253 } | |
222 } | 254 } |
223 | 255 |
224 return df_sample; | 256 return df_sample; |
225 } | 257 } |
226 | 258 |