Hi Raoul,
Well, Oyvind answered just as I wrote this but in case it adds any clarification:
f71 and f72 are function table statements:
https://csound.com/docs/manual/f.html
The table numbers are arbitrary, they could have been f1 and f2.
The table values only affect the delay loop times and amplitudes for the comb and allpass filters.
Looking at f71:
p1 (71) is the table number
p2 (0) is the time at which ftable is generated
p3 (16) is the size of the table; how many points or values are in the table (f71 will have 16 values). These values begin at p5. Since inumCombs is 8 there should be 16 values, 8 each for the comb filter delay times and amplitudes
p4 (-2) is the type of table, referred to as a GEN routine.
https://csound.com/docs/manual/ScoreGenRef.html
f71 & f72 are GEN02:
http://www.csounds.com/manual/html/GEN02.html
p4 is specified as a negative number (-2) so that the 16 values (p5 thru p20) are not re-scaled (normalized to between 0 - 1)
p5 thru p12 are delay loop time values for the comb filters. nreverb specifies that if these values are negative, the delay time is interpreted as samples
p13 thru p12 are the amplitude values of the comb filter delays
The comb filters are essentially lowpass filtered delays that will continue to loop (feedback) for the ktime value of nreverb. The khdif value of nreverb will determine how much the lowpass filter affects the delay loop.
Comb filters are partially explained here:
https://csound.com/docs/manual/comb.html
f72 is the same as f71 but sets the delay times & amplitude for the allpass filters
For example:
; Select audio/midi flags here according to platform
; Audio out Audio in No messages
-odac -iadc -d ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o nreverb_ftable.wav -W ;;; for file output any platform
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
0dbfs = 1
instr 1
a1 = vco2:a(linseg(0, .003, .8, .1, 0), 220)
a2 nreverb a1, 10.5, .75, 0, 1, 71, 1, 72
out a1 + a2 * .4
endin
f71 0 2 -2 -22050 .8
f72 0 2 -2 -5512 .7
i1 0 4
i. + .
i. + .
i. + 11
e
Here only 1 delay time value (p5) and 1 amplitude (p6) are used for the comb & allpass filter values (f71 & f72) since inumCombs and inumAlpas are set at 1 for nreverb.
Since the project sr is 44100, a delay value of -22050 samples is 1/2 of a second, -5512 is approx. 1/8 of a sec. Those values make the delay (echo) very obvious but will sound less like reverb. The filtered delays will continue to loop (feedback) for krvt which is 10.5 seconds. Since the allpass filters run in series after the comb filters there will be a longer pause between the first note played and the first audible delay.
There is an article which discusses the basis of the reverb design here:
https://flossmanual.csound.com/sound-modification/reverberation
Perhaps some of this is redundant, if so I apologize.
Best,
Scott