Changeset 83d5abf


Ignore:
Timestamp:
Sep 11, 2007, 9:36:36 PM (17 years ago)
Author:
Amaury Hazan <mahmoudax@gmail.com>
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
Message:

cleaned a bit and added TODO doc for filterbank::new_aubio_filterbank_mfcc2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/filterbank.c

    rf72ceeb r83d5abf  
    1919*/
    2020
    21 /* part of this mfcc implementation were inspired from LibXtract
    22    http://libxtract.sourceforge.net/
    23 */
    2421
    2522#include "aubio_priv.h"
     
    159156}
    160157
     158/*
     159FB initialization based on Slaney's auditory toolbox
     160TODO:
     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*/
    161167
    162168aubio_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){
     
    209215
    210216  //debug
     217  debug("filter tables frequencies\n");
    211218  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]);
    213220 
    214221 
     
    233240   
    234241    //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");
    238245   
    239246    for(bin_cnt=0; bin_cnt<win_s-1; bin_cnt++){
    240247      //zeroing beigining of array
    241248      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]);
    244251      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]){
    245252        break;
     
    248255    bin_cnt++;
    249256   
    250     //printf("\npos slope\n");
     257    debug("\npos slope\n");
    251258    //positive slope
    252259    for(; bin_cnt<win_s-1; bin_cnt++){
    253       //printf(".");
     260      debug(".");
    254261      fb->filters[filter_cnt]->data[0][bin_cnt]=(fft_freqs->data[0][bin_cnt]-lower_freqs->data[0][filter_cnt])*riseInc;
    255262      //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])
     
    259266    //bin_cnt++;
    260267   
    261     //printf("\nneg slope\n");
     268    //debug("\nneg slope\n");
     269   
    262270    //negative slope
    263271    for(; bin_cnt<win_s-1; bin_cnt++){
    264       //printf(".");
     272      //debug(".");
    265273     
    266274      //checking whether last value is less than 0...
     
    277285    //bin_cnt++;
    278286   
    279     //printf("\nzero end\n");
     287    //debug("\nzero end\n");
    280288    //zeroing tail
    281289    for(; bin_cnt<win_s; bin_cnt++)
    282       //printf(".");
     290      //debug(".");
    283291      fb->filters[filter_cnt]->data[0][bin_cnt]=0.f;
    284292
Note: See TracChangeset for help on using the changeset viewer.