Mercurial > hg > btrack
comparison src/OnsetDetectionFunction.cpp @ 57:296af6af6c3d
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 Stark <adamstark@users.noreply.github.com> |
|---|---|
| date | Thu, 23 Jan 2014 15:31:11 +0000 |
| parents | 338f5eb29e41 |
| children | a8e3e95d14e4 |
comparison
equal
deleted
inserted
replaced
| 56:b6d440942ff6 | 57:296af6af6c3d |
|---|---|
| 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 |
