MOCKBEND

perform a time-varying transpose on a mono input signal using cubic spline interpolation


MOCKBEND is a version of TRANSBEND that's designed to work with real-time input sources, such as microphone or aux bus. It processes only one channel at a time. MOCKBENDuses the function table specified by p4 as the transposition curve for the note. The interval values in this table are expressed in linear octaves. You can call makegen(2, ...) for this.

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);

SEE ALSO

TRANSBEND


AUTHORS

Derived from Doug Scott's TRANSBEND by Ivica Ico Bukvic (2001-2)