Here is an example of a one knob super tone control. aka STONE control...
The control voltage is reduced to 64 discrete points and the tone MACs use the multipliers as "gain" for lo mid and hi. The center position gives an enormous scoop. It sounds very musical.
Adjustments can be made for LOW and HI too. What I like is the soldering iron is never plugged in.
volatile fractional STONE[64][3]={
{Q15(0.570), Q15(0.1), Q15(0.235)}, //00
{Q15(0.560), Q15(0.1), Q15(0.205)}, //01
{Q15(0.545), Q15(0.1), Q15(0.195)}, //02
{Q15(0.540), Q15(0.1), Q15(0.175)}, //03
{Q15(0.535), Q15(0.1), Q15(0.165)}, //04
{Q15(0.530), Q15(0.1), Q15(0.170)}, //05
{Q15(0.525), Q15(0.1), Q15(0.175)}, //06
{Q15(0.520), Q15(0.1), Q15(0.180)}, //07
{Q15(0.515), Q15(0.1), Q15(0.185)}, //08
{Q15(0.510), Q15(0.1), Q15(0.190)}, //09
{Q15(0.505), Q15(0.1), Q15(0.195)}, //10
{Q15(0.500), Q15(0.1), Q15(0.200)}, //11
{Q15(0.495), Q15(0.1), Q15(0.205)}, //12
{Q15(0.490), Q15(0.1), Q15(0.210)}, //13
{Q15(0.485), Q15(0.1), Q15(0.215)}, //14
{Q15(0.480), Q15(0.1), Q15(0.220)}, //15
{Q15(0.475), Q15(0.1), Q15(0.225)}, //00
{Q15(0.470), Q15(0.1), Q15(0.230)}, //01
{Q15(0.465), Q15(0.1), Q15(0.235)}, //02
{Q15(0.460), Q15(0.1), Q15(0.240)}, //03
{Q15(0.455), Q15(0.1), Q15(0.245)}, //04
{Q15(0.450), Q15(0.1), Q15(0.250)}, //05
{Q15(0.445), Q15(0.1), Q15(0.255)}, //06
{Q15(0.440), Q15(0.1), Q15(0.260)}, //07
{Q15(0.435), Q15(0.1), Q15(0.265)}, //08
{Q15(0.430), Q15(0.1), Q15(0.270)}, //09
{Q15(0.425), Q15(0.05), Q15(0.275)}, //10
{Q15(0.420), Q15(0.05), Q15(0.280)}, //11
{Q15(0.415), Q15(0.025), Q15(0.285)}, //12
{Q15(0.410), Q15(0.025), Q15(0.290)}, //13
{Q15(0.405), Q15(0.001), Q15(0.295)}, //14
{Q15(0.400), Q15(0.001), Q15(0.300)}, //15
{Q15(0.395), Q15(0.001), Q15(0.305)}, //00 mid
{Q15(0.390), Q15(0.001), Q15(0.310)}, //01
{Q15(0.385), Q15(0.025), Q15(0.315)}, //02
{Q15(0.380), Q15(0.025), Q15(0.320)}, //03
{Q15(0.375), Q15(0.05), Q15(0.325)}, //04
{Q15(0.370), Q15(0.05), Q15(0.330)}, //05
{Q15(0.365), Q15(0.1), Q15(0.335)}, //06
{Q15(0.360), Q15(0.1), Q15(0.340)}, //07
{Q15(0.355), Q15(0.1), Q15(0.345)}, //08
{Q15(0.350), Q15(0.1), Q15(0.350)}, //09
{Q15(0.345), Q15(0.1), Q15(0.355)}, //10
{Q15(0.340), Q15(0.1), Q15(0.360)}, //11
{Q15(0.335), Q15(0.1), Q15(0.365)}, //12
{Q15(0.330), Q15(0.1), Q15(0.370)}, //13
{Q15(0.325), Q15(0.1), Q15(0.375)}, //14
{Q15(0.320), Q15(0.1), Q15(0.380)}, //15
{Q15(0.315), Q15(0.1), Q15(0.385)}, //00
{Q15(0.310), Q15(0.1), Q15(0.390)}, //01
{Q15(0.305), Q15(0.1), Q15(0.395)}, //02
{Q15(0.300), Q15(0.1), Q15(0.400)}, //03
{Q15(0.295), Q15(0.1), Q15(0.405)}, //04
{Q15(0.290), Q15(0.1), Q15(0.410)}, //05
{Q15(0.285), Q15(0.1), Q15(0.415)}, //06
{Q15(0.280), Q15(0.1), Q15(0.420)}, //07
{Q15(0.275), Q15(0.1), Q15(0.425)}, //08
{Q15(0.270), Q15(0.1), Q15(0.430)}, //09
{Q15(0.265), Q15(0.1), Q15(0.435)}, //10
{Q15(0.260), Q15(0.1), Q15(0.440)}, //11
{Q15(0.275), Q15(0.1), Q15(0.445)}, //12
{Q15(0.285), Q15(0.1), Q15(0.460)}, //13
{Q15(0.295), Q15(0.1), Q15(0.470)}, //14
{Q15(0.325), Q15(0.1), Q15(0.480)} //15 16 X 4=64
};
then in the DMA handler
// do the macs
for(i=0; i<16;i++){
ACMA = __builtin_clr();
ACMA = __builtin_mac(ACMA,LOW, lowpassout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
ACMA = __builtin_mac(ACMA,MID, midpassout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
ACMA = __builtin_mac(ACMA,HI, hipassout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
sumadd = __builtin_sacr(ACMA,-3);
}