iskip (optional, default=0) -- initial disposition of delay-loop data space (cf. reson). The default value is 0.
insmps (optional, default=0) -- delay amount, as a number of samples.
Performance
krvt -- the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude).
xlpt -- variable loop time in seconds, same as ilpt in comb. Loop time can be as large as imaxlpt.
This filter reiterates input with an echo density determined by loop time xlpt. The attenuation rate is independent and is determined by krvt, the reverberation time (defined as the time in seconds for a signal to decay to 1/1000, or 60dB down from its original amplitude). Output will appear only after ilpt seconds.
Examples
Here is an example of the vcomb opcode. It uses the file vcomb.csd.
<CsoundSynthesizer><CsOptions>; Select audio/midi flags here according to platform; Audio out Audio in-odac -iadc -M0 ;;;RT audio I/O with MIDI in</CsOptions><CsInstruments>; Example by Jonathan Murphy and Charles Gran 2007sr=44100ksmps=10nchnls=2; new, and important. Make sure that midi note events are only; received by instruments that actually need them.; turn default midi routing offmassign0,0; route note events on channel 1 to instr 1massign1,1; Define your midi controllers#defineC1#21##defineC2#22##defineC3#23#; Initialize MIDI controllersinitc71,$C1,0.5;delay sendinitc71,$C2,0.5;delay: time to zeroinitc71,$C3,0.5;delay: rate gaoscinit0; Define an opcode to "smooth" the MIDI controller signalopcodesmooth,k,kkinxinkportlinseg0,0.0001,0.01,1,0.01kinportkkin,kportxoutkinendopinstr1; Generate a sine wave at the frequency of the MIDI note that triggered the intrumentifqccpsmidiiampampmidi10000aenvlinenriamp,.01,.1,.01;envelopea1oscilaenv,ifqc,1; All sound goes to the global variable gaoscgaosc=gaosc+a1endininstr198; ECHOkcmbsndctrl71,$C1,0,1;delay sendktimectrl71,$C2,0.01,6;time loop fades outkloopctrl71,$C3,0.01,1;loop speed; Receive MIDI controller values and then smooth themkcmbsndsmoothkcmbsndktimesmoothktimekloopsmoothkloopimaxlpt=1;max loop time; Create a variable reverberation (delay) of the gaosc signalacombvcombgaosc,ktime,kloop,imaxlpt,1aout=(acomb*kcmbsnd)+gaosc*(1-kcmbsnd)outsaout,aoutgaosc=0endin</CsInstruments><CsScore>f1016384101i198010000e</CsScore></CsoundSynthesizer>