Ignore:
Timestamp:
Dec 4, 2009, 1:38:30 AM (14 years ago)
Author:
Paul Brossier <piem@piem.org>
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:
741bdda
Parents:
0b9a02a
Message:

src/spectral: switch to mono

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/spectral/mfcc.c

    r0b9a02a rd95ff38  
    2222#include "aubio_priv.h"
    2323#include "fvec.h"
     24#include "fmat.h"
    2425#include "cvec.h"
    2526#include "mathutils.h"
     
    4041  aubio_filterbank_t *fb;   /** filter bank */
    4142  fvec_t *in_dct;           /** input buffer for dct * [fb->n_filters] */
    42   fvec_t *dct_coeffs;       /** DCT transform n_filters * n_coeffs */
     43  fmat_t *dct_coeffs;       /** DCT transform n_filters * n_coeffs */
    4344};
    4445
     
    6465
    6566  /* allocating buffers */
    66   mfcc->in_dct = new_fvec (n_filters, 1);
     67  mfcc->in_dct = new_fvec (n_filters);
    6768
    68   mfcc->dct_coeffs = new_fvec (n_coefs, n_filters);
     69  mfcc->dct_coeffs = new_fmat (n_coefs, n_filters);
    6970
    7071  /* compute DCT transform dct_coeffs[i][j] as
     
    100101aubio_mfcc_do (aubio_mfcc_t * mf, cvec_t * in, fvec_t * out)
    101102{
    102   uint_t i, j, k;
     103  uint_t j, k;
    103104
    104105  /* compute filterbank */
     
    115116
    116117  /* compute discrete cosine transform */
    117   for (i = 0; i < out->channels; i++) {
    118     for (j = 0; j < mf->n_filters; j++) {
    119       for (k = 0; k < mf->n_coefs; k++) {
    120         out->data[i][k] += mf->in_dct->data[i][j]
    121             * mf->dct_coeffs->data[j][k];
    122       }
     118  for (j = 0; j < mf->n_filters; j++) {
     119    for (k = 0; k < mf->n_coefs; k++) {
     120      out->data[k] += mf->in_dct->data[j]
     121          * mf->dct_coeffs->data[j][k];
    123122    }
    124123  }
Note: See TracChangeset for help on using the changeset viewer.