vocoderAudio

spectral analyzer turned into a 20-band audio output module to be used for vocoding
Author: Remco van der most
License: BSD
Github: sss/fx/vocoderAudio.axo

Inlets

frac32buffer input

Outlets

frac32buffer out01

frac32buffer out02

frac32buffer out03

frac32buffer out04

frac32buffer out05

frac32buffer out06

frac32buffer out07

frac32buffer out08

frac32buffer out09

frac32buffer out10

frac32buffer out11

frac32buffer out12

frac32buffer out13

frac32buffer out14

frac32buffer out15

frac32buffer out16

frac32buffer out17

frac32buffer out18

frac32buffer out19

frac32buffer out20

Declaration
biquad_state bs1[20];
biquad_state bs2[20];
biquad_coefficients bc1[20];
biquad_coefficients bc2[20];
int32_t val[20];
Init
int i;
for (i = 0; i < 20; i++) {
  int32_t pitch = (-20 + (i * 4)) << 21;
  int32_t freq;
  MTOF(pitch, freq);
  biquad_bp_coefs(&bc1[i], freq, INT_MAX - ((56 << 21) << 4));
  biquad_clearstate(&bs1[i]);
  int32_t pitch2 = pitch + (2 << 21);
  int32_t freq2;
  MTOF(pitch2, freq2);
  biquad_bp_coefs(&bc2[i], freq2, INT_MAX - ((56 << 21) << 4));
  biquad_clearstate(&bs2[i]);
}
Control Rate
{ biquad_dsp(&bs1[0], &bc1[0], inlet_in, outlet_out01); }
{ biquad_dsp(&bs1[1], &bc1[1], inlet_in, outlet_out02); }
{
  int32_t t1;
  biquad_dsp(&bs1[2], &bc1[2], inlet_in, outlet_out03);
}
{
  int32_t t1;
  biquad_dsp(&bs1[3], &bc1[3], inlet_in, outlet_out04);
}
{
  int32_t t1;
  biquad_dsp(&bs1[4], &bc1[4], inlet_in, outlet_out05);
}
{
  int32_t t1;
  biquad_dsp(&bs1[5], &bc1[5], inlet_in, outlet_out06);
}
{
  int32_t t1;
  biquad_dsp(&bs1[6], &bc1[6], inlet_in, outlet_out07);
}
{
  int32_t t1;
  biquad_dsp(&bs1[7], &bc1[7], inlet_in, outlet_out08);
}
{
  int32_t t1;
  biquad_dsp(&bs1[8], &bc1[8], inlet_in, outlet_out09);
}
{
  int32_t t1;
  biquad_dsp(&bs1[9], &bc1[9], inlet_in, outlet_out10);
}
{
  int32_t t1;
  biquad_dsp(&bs1[10], &bc1[10], inlet_in, outlet_out11);
}
{
  int32_t t1;
  biquad_dsp(&bs1[11], &bc1[11], inlet_in, outlet_out12);
}
{
  int32_t t1;
  biquad_dsp(&bs1[12], &bc1[12], inlet_in, outlet_out13);
}
{
  int32_t t1;
  biquad_dsp(&bs1[13], &bc1[13], inlet_in, outlet_out14);
}
{
  int32_t t1;
  biquad_dsp(&bs1[14], &bc1[14], inlet_in, outlet_out15);
}
{
  int32_t t1;
  biquad_dsp(&bs1[15], &bc1[15], inlet_in, outlet_out16);
}
{
  int32_t t1;
  biquad_dsp(&bs1[16], &bc1[16], inlet_in, outlet_out17);
}
{
  int32_t t1;
  biquad_dsp(&bs1[17], &bc1[17], inlet_in, outlet_out18);
}
{
  int32_t t1;
  biquad_dsp(&bs1[18], &bc1[18], inlet_in, outlet_out19);
}
{
  int32_t t1;
  biquad_dsp(&bs1[19], &bc1[19], inlet_in, outlet_out20);
}

Privacy

© 2024 Zrna Research