diff options
author | Chris Robinson <[email protected]> | 2023-11-21 14:40:15 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2023-11-21 14:40:15 -0800 |
commit | 62c5b38c811ac1552a1cadb00604477ebb39c646 (patch) | |
tree | 2d9413d5029bea1f535f9c29db04f4bbf963a886 /alc/alconfig.cpp | |
parent | d6d572df66eb2b5beeb3da7f3b11a328500c33c3 (diff) |
Don't combine both early reflection taps for the late reverb
It doesn't make much sense to include both early reflections to feed the late
reverb, since it increases the total energy in the reverb decay. This better
fits with the design described in papers for this type of reverb, and seems to
better match volume levels of hardware EAX/EFX reverb (though there are still
some apparent differences).
Note that this adds a bit more delay to the late reverb, specifically
EARLY_LINE_LENGTHS[0] * density_mult. This can be compensated for somewhat by
reducing the late reverb delay by that amount (clamping to a minimum of 0).
Alternatively, adjust the delay lines for the second early tap to have a zero-
delay pass-through line with 3 delay lines (as opposed to the current 4 delay
lines), as suggested by the paper "ADAPTING ARTIFICIAL REVERBERATION
ARCHITECTURES FOR B-FORMAT SIGNAL PROCESSING". Although doing so may require
additional adjustments to the delay lengths and gains to avoid the 0-length
lines accumulating unattenuated copies of the signal for the early reflection
output.
Diffstat (limited to 'alc/alconfig.cpp')
0 files changed, 0 insertions, 0 deletions