fine3

triple semitone finetuning first slider is C
Author: Remco van der Most
License: BSD
Github: sss/harmony/fine3.axo

Inlets

int32 s1

int32 s2

int32 s3

Outlets

frac32 output

frac32 o2

frac32 o3

Parameters

frac32.s.mapvsl b0

frac32.s.mapvsl b1

frac32.s.mapvsl b2

frac32.s.mapvsl b3

frac32.s.mapvsl b4

frac32.s.mapvsl b5

frac32.s.mapvsl b6

frac32.s.mapvsl b7

frac32.s.mapvsl b8

frac32.s.mapvsl b9

frac32.s.mapvsl b10

frac32.s.mapvsl b11

Control Rate
int sel = (inlet_s1 + 4) % 12;
sel = sel < 0 ? sel + 12 : sel;
switch (sel) {
case 0:
  outlet_o1 = param_b0;
  break;
case 1:
  outlet_o1 = param_b1;
  break;
case 2:
  outlet_o1 = param_b2;
  break;
case 3:
  outlet_o1 = param_b3;
  break;
case 4:
  outlet_o1 = param_b4;
  break;
case 5:
  outlet_o1 = param_b5;
  break;
case 6:
  outlet_o1 = param_b6;
  break;
case 7:
  outlet_o1 = param_b7;
  break;
case 8:
  outlet_o1 = param_b8;
  break;
case 9:
  outlet_o1 = param_b9;
  break;
case 10:
  outlet_o1 = param_b10;
  break;
case 11:
  outlet_o1 = param_b11;
  break;
}
outlet_o1 = outlet_o1 >> 7;
outlet_o1 += inlet_s1 << 21;

sel = (inlet_s2 + 4) % 12;
sel = sel < 0 ? sel + 12 : sel;
switch (sel) {
case 0:
  outlet_o2 = param_b0;
  break;
case 1:
  outlet_o2 = param_b1;
  break;
case 2:
  outlet_o2 = param_b2;
  break;
case 3:
  outlet_o2 = param_b3;
  break;
case 4:
  outlet_o2 = param_b4;
  break;
case 5:
  outlet_o2 = param_b5;
  break;
case 6:
  outlet_o2 = param_b6;
  break;
case 7:
  outlet_o2 = param_b7;
  break;
case 8:
  outlet_o2 = param_b8;
  break;
case 9:
  outlet_o2 = param_b9;
  break;
case 10:
  outlet_o2 = param_b10;
  break;
case 11:
  outlet_o2 = param_b11;
  break;
}
outlet_o2 = outlet_o2 >> 7;
outlet_o2 += inlet_s2 << 21;

sel = (inlet_s3 + 4) % 12;
sel = sel < 0 ? sel + 12 : sel;
switch (sel) {
case 0:
  outlet_o3 = param_b0;
  break;
case 1:
  outlet_o3 = param_b1;
  break;
case 2:
  outlet_o3 = param_b2;
  break;
case 3:
  outlet_o3 = param_b3;
  break;
case 4:
  outlet_o3 = param_b4;
  break;
case 5:
  outlet_o3 = param_b5;
  break;
case 6:
  outlet_o3 = param_b6;
  break;
case 7:
  outlet_o3 = param_b7;
  break;
case 8:
  outlet_o3 = param_b8;
  break;
case 9:
  outlet_o3 = param_b9;
  break;
case 10:
  outlet_o3 = param_b10;
  break;
case 11:
  outlet_o3 = param_b11;
  break;
}
outlet_o3 = outlet_o3 >> 7;
outlet_o3 += inlet_s3 << 21;

Privacy

© 2024 Zrna Research