- Timestamp:
- Sep 11, 2007, 9:36:36 PM (17 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- 787f1f3
- Parents:
- f72ceeb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/filterbank.c
rf72ceeb r83d5abf 19 19 */ 20 20 21 /* part of this mfcc implementation were inspired from LibXtract22 http://libxtract.sourceforge.net/23 */24 21 25 22 #include "aubio_priv.h" … … 159 156 } 160 157 158 /* 159 FB initialization based on Slaney's auditory toolbox 160 TODO: 161 *solve memory leak problems while 162 *solve quantization issues when constructing signal: 163 *bug for win_s=512 164 *corrections for win_s=1024 -> why even filters with smaller amplitude 165 166 */ 161 167 162 168 aubio_filterbank_t * new_aubio_filterbank_mfcc2(uint_t n_filters, uint_t win_s, uint_t samplerate, smpl_t freq_min, smpl_t freq_max){ … … 209 215 210 216 //debug 217 debug("filter tables frequencies\n"); 211 218 for(filter_cnt=0; filter_cnt<allFilters; filter_cnt++) 212 //printf("filter n. %d %f %f %f %f\n",filter_cnt, lower_freqs->data[0][filter_cnt], center_freqs->data[0][filter_cnt], upper_freqs->data[0][filter_cnt], triangle_heights->data[0][filter_cnt]);219 debug("filter n. %d %f %f %f %f\n",filter_cnt, lower_freqs->data[0][filter_cnt], center_freqs->data[0][filter_cnt], upper_freqs->data[0][filter_cnt], triangle_heights->data[0][filter_cnt]); 213 220 214 221 … … 233 240 234 241 //zeroing begining of filter 235 //printf("\nfilter %d",filter_cnt);236 237 //printf("\nzero begin\n");242 debug("\nfilter %d",filter_cnt); 243 244 debug("\nzero begin\n"); 238 245 239 246 for(bin_cnt=0; bin_cnt<win_s-1; bin_cnt++){ 240 247 //zeroing beigining of array 241 248 fb->filters[filter_cnt]->data[0][bin_cnt]=0.f; 242 //printf(".");243 // printf("%f %f %f\n", fft_freqs->data[0][bin_cnt], fft_freqs->data[0][bin_cnt+1], lower_freqs->data[0][filter_cnt]);249 debug("."); 250 //debug("%f %f %f\n", fft_freqs->data[0][bin_cnt], fft_freqs->data[0][bin_cnt+1], lower_freqs->data[0][filter_cnt]); 244 251 if(fft_freqs->data[0][bin_cnt]<= lower_freqs->data[0][filter_cnt] && fft_freqs->data[0][bin_cnt+1]> lower_freqs->data[0][filter_cnt]){ 245 252 break; … … 248 255 bin_cnt++; 249 256 250 //printf("\npos slope\n");257 debug("\npos slope\n"); 251 258 //positive slope 252 259 for(; bin_cnt<win_s-1; bin_cnt++){ 253 //printf(".");260 debug("."); 254 261 fb->filters[filter_cnt]->data[0][bin_cnt]=(fft_freqs->data[0][bin_cnt]-lower_freqs->data[0][filter_cnt])*riseInc; 255 262 //if(fft_freqs->data[0][bin_cnt]<= center_freqs->data[0][filter_cnt] && fft_freqs->data[0][bin_cnt+1]> center_freqs->data[0][filter_cnt]) … … 259 266 //bin_cnt++; 260 267 261 //printf("\nneg slope\n"); 268 //debug("\nneg slope\n"); 269 262 270 //negative slope 263 271 for(; bin_cnt<win_s-1; bin_cnt++){ 264 // printf(".");272 //debug("."); 265 273 266 274 //checking whether last value is less than 0... … … 277 285 //bin_cnt++; 278 286 279 // printf("\nzero end\n");287 //debug("\nzero end\n"); 280 288 //zeroing tail 281 289 for(; bin_cnt<win_s; bin_cnt++) 282 // printf(".");290 //debug("."); 283 291 fb->filters[filter_cnt]->data[0][bin_cnt]=0.f; 284 292
Note: See TracChangeset
for help on using the changeset viewer.