16bar

spectral analyzer made out of two 2nd order bandpass filters per band, decibel scale (vertical), steeper filters
Author: Johannes Taelman
License: BSD
Github: sss/disp/16bar.axo

Inlets

frac32 i1

frac32 i2

frac32 i3

frac32 i4

frac32 i5

frac32 i6

frac32 i7

frac32 i8

frac32 i9

frac32 i10

frac32 i11

frac32 i12

frac32 i13

frac32 i14

frac32 i15

frac32 i16

Outlets

None

Displays

frac32.vbar v0

frac32.vbar v1

frac32.vbar v2

frac32.vbar v3

frac32.vbar v4

frac32.vbar v5

frac32.vbar v6

frac32.vbar v7

frac32.vbar v8

frac32.vbar v9

frac32.vbar v10

frac32.vbar v11

frac32.vbar v12

frac32.vbar v13

frac32.vbar v14

frac32.vbar v15

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
disp_v0 = inlet_i1;
disp_v1 = inlet_i2;
disp_v2 = inlet_i3;
disp_v3 = inlet_i4;
disp_v4 = inlet_i5;
disp_v5 = inlet_i6;
disp_v6 = inlet_i7;
disp_v7 = inlet_i8;
disp_v8 = inlet_i9;
disp_v9 = inlet_i10;
disp_v10 = inlet_i11;
disp_v11 = inlet_i12;
disp_v12 = inlet_i13;
disp_v13 = inlet_i14;
disp_v14 = inlet_i15;
disp_v15 = inlet_i16;

Privacy

© 2024 Zrna Research