frac32buffer l
frac32buffer r
frac32buffer l
frac32buffer r
frac32.u.map ratio
frac32.u.map size
clouds_deriv::PitchShifter fx;
uint16_t *buf = (uint16_t *)sdram_malloc(32768);
if (!buf)
return;
fx.Init(buf);
static clouds_deriv::FloatFrame iobuf[BUFSIZE];
fx.set_ratio(q27_to_float(param_ratio));
fx.set_size(q27_to_float(param_size));
int i;
for (i = 0; i < BUFSIZE; i++) {
iobuf[i].l = q27_to_float(inlet_l[i]);
iobuf[i].r = q27_to_float(inlet_r[i]);
}
fx.Process(iobuf, BUFSIZE);
for (i = 0; i < BUFSIZE; i++) {
outlet_l[i] = float_to_q27(iobuf[i].l);
outlet_r[i] = float_to_q27(iobuf[i].r);
}