User-Defined Opcode Database |
---|
A stereo chorus opcode with multiple voices.
Download UDO FileA stereo chorus opcode with multiple voices.
User can control how many voices.
al, ar ensembleChorus ain, kdelay, kdpth, kminrate, kmaxrate, inumvoice, iwave
inumvoice -- number of voices
iwave -- function table for the lfo wave (sine, triangle, etc).
kdelay -- delay time in seconds
kdepth -- chorus depth in seconds
kminrate/kmaxrate -- min and max lfo rates (cps)
opcode ensembleChorus, aa, akkkkiip ain, kdelay, kdpth, kmin, kmax, inumvoice, iwave, icount xin incr = 1/(inumvoice) if (icount == inumvoice) goto out ainl, ainr ensembleChorus ain, kdelay, kdpth, kmin, kmax, inumvoice, iwave, icount + 1 out: max: imax = i(kmax) if (kmax != imax) then reinit max endif iratemax unirand imax rireturn alfo oscil kdpth, iratemax + kmin, iwave adel vdelay3 ain/(inumvoice * .5), (kdelay + alfo) * 1000, 1000 al = ainl + adel * incr * icount ar = ainr + adel * (1 - incr * icount) xout al, ar endop
/* .orc */ nchnls = 2 opcode ensembleChorus, aa, akkkkiip ;kdpth 0 - kdelay, kmin/max = cps ain, kdelay, kdpth, kmin, kmax, inumvoice, iwave, icount xin incr = 1/(inumvoice) if (icount == inumvoice) goto out ainl, ainr ensembleChorus ain, kdelay, kdpth, kmin, kmax, inumvoice, iwave, icount + 1 out: max: imax = i(kmax) if (kmax != imax) then reinit max endif iratemax unirand imax rireturn alfo oscil kdpth, iratemax + kmin, iwave adel vdelay3 ain/(inumvoice * .5), (kdelay + alfo) * 1000, 1000 al = ainl + adel * incr * icount ar = ainr + adel * (1 - incr * icount) xout al, ar endop instr 1 ain buzz 20000, 120, 100, 1 al, ar ensembleChorus ain, .01, .005, .75, 1, 12, 10 outs al, ar endin /* .sco */ f1 0 65536 10 1 f10 0 65536 10 1 0 0 0 0 0 0 0 0 .05 i1 0 10
bhob rainey
Previous | Home | Next |
deflutter | ExpCurve |