p-fields:
/* MOCKBEND - perform a time-varying transpose on a mono input signal using cubic spline interpolation p0 = output start time p1 = input start time p2 = output duration (time to end if negative) p3 = amplitude multiplier p4 = gen index for pitch curve p5 = input channel [optional, default is 0] p6 = percent to left [optional, default is .5] Assumes gen table 1 is amplitude curve for the note. */Sample scorefile:
rtsetparams(44100, 2);
rtinput("/usr/share/sounds/login.wav");
load("MOCKBEND");
dur = DUR(0);
amp = 1;
pan = 0.5;
/* amplitude curve */
setline(0,0, 1, 1, 90, 1, 100, 0);
/* transpose from 4 semitones up to 8 down - stored in gen slot 2 */
makegen(-2, 18, 512, 1,.4, 512,-.8);
MOCKBEND(0, 0, dur, amp, 2, 0, pan);