Exemple #1
0
void
fft (float x[], int n, int isign)
{
  //int isReverse = 0; // never used
  int c;
  kiss_fft_cfg cfg;
  if (cfg_forward == NULL)
    {
      initialize_fft (n);
    }
  for (c = 0; c < n * 2; c += 2)
    {
      fin[c / 2].r = x[c];
      fin[c / 2].i = -x[c + 1];
    }
  if (isign == -1)
    {
      cfg = cfg_reverse;
    }
  else
    {
      cfg = cfg_forward;
    }
  kiss_fft (cfg, fin, fout);
  for (c = 0; c < n * 2; c += 2)
    {
      x[c] = fout[(c) / 2].r;
      x[c + 1] = -fout[(c) / 2].i;
    }
}
ReplayAudioBufferPlayout::ReplayAudioBufferPlayout( ) {
    max_channel_no = 0;

    /*
     * FIXME
     * these need to agree between playout and ingest, but they're
     * defined separately in both places.
     */
    fft_size = 1024;
    fft_hop = 128;
    scale_factor = float(fft_hop) / (float(fft_size) * float(fft_size));

    initialize_fft( );
}