p-fields:
/* COMPLIMIT: a compressor-limiter p0 = output start time p1 = input start time p2 = duration p3 = gain applied to input before compression (in dB) p4 = gain applied to output after compression - "makeup gain" (in dB) p5 = attack time (seconds) p6 = release time (seconds) p7 = threshold (in dBFS) p8 = compression ratio - e.g. 20 means 20:1 (100 is infinity) p9 = look-ahead time (seconds) p10 = peak detection window size (power of 2 <= RTCmix output buffer size) p11 = detection type (0: peak, 1: average peak, 2: rms) p12 = bypass (1: bypass on, 0: bypass off) p13 = input channel [optional; default is 0] p14 = percent output to left channel (0 - 1) [optional; default is 0.5] BUGS: - Sometimes the compressor will stay in sustain for too long. This happens when the source sound has a long decaying envelope where some of the decay is above the threshold. */Sample scorefile:
rtsetparams(44100, 2) load("COMPLIMIT") bus_config("COMPLIMIT", "in0-1", "out0-1") rtinput("/tmp/jumpyextract.wav") inskip = 10 dur = .5 ingain = 0 outgain = 0 attack = 0.01 release = 0.06 threshold = -10 ratio = 100 lookahead = attack windowlen = 128 detect_type = 0 bypass = 0 outskip = 0 COMPLIMIT(outskip, inskip, dur, ingain, outgain, attack, release, threshold, ratio, lookahead, windowlen, detect_type, bypass, inchan=0, pctleft=.5)