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( ); }