libera/#shirakumo - IRC Chatlog
Search
19:44:02
Colleen
<SAL9000> reverb effects usually introduce latency -- it's still RT-ready if each processing step (N samples in, N samples out) completes within deadline, no?
19:44:42
Colleen
<shinmera> My worry is that, with that much auxiliary data, it won't complete within the timeslice.
19:46:06
Colleen
<shinmera> iirc in Kandria it's defaulted to 5ms buffers, but the actual time you have to fill the buffer in is of course much less than that since there's much other work to be done, too (decoding, mixing, playback)
19:49:04
Colleen
<shinmera> I'm also intending on adjusting the reverb parameters at runtime. Wonder if that's feasible, too.
19:50:00
Colleen
<SAL9000> a trivial example: say you have a volume control (with unlimited slew rate)
19:50:34
Colleen
<SAL9000> if you apply volume adjustments at anything other than a zero-crossing point, you risk creating an audible discontinuity if the slew rate is high enough
19:51:26
Colleen
<SAL9000> delaying the input adjustments is "enough" for simple stuff like gain or eq -- not sure how to "de-zipper" something like a reverb, though.
19:52:03
Colleen
<shinmera> using something like https://www.musicdsp.org/en/latest/Filters/257-1-pole-lpf-for-smooth-parameter-changes.html
19:52:47
Colleen
<SAL9000> You can treat e.g. wet/dry mix as 2x gain and use step-at-zero-xing for those.
19:53:41
Colleen
<shinmera> I'm quite sure this implementation is overkill and I could get away with something much simpler.
19:54:27
Colleen
<shinmera> I want reverb that changes depending on how "tight" the environment is based on raycasts.
19:55:51
Colleen
<SAL9000> It's more suitable for a small set of environments (small space, large space, outdoors), but it could work if you generate new IR's based on raycast data?
19:56:24
Colleen
<SAL9000> Smoothing between different IR curves could be done as a crossfade between 2 different convolving filters
19:57:35
Colleen
<shinmera> The only thing i'm unsure about aside from the exact parameters is that one triangle thing in the diagram.
20:00:50
Colleen
<SAL9000> "Collision Rate / Material"... as in, the combination of "how many rays hit this surface" and "what kind of surface is it", perhaps?
20:02:00
Colleen
<shinmera> As for why all-pass, this article explains a bit https://www.earlevel.com/main/1997/01/19/a-bit-about-reverb/
20:03:09
Colleen
<shinmera> Anyway, I /am/ going to port that crazy reverb implementation, and will then prob do something custom for kandria.
20:07:03
Colleen
<SAL9000> aha, so APF basically rotates the phase of the signal w/o changing the amplitude
20:07:44
Colleen
<shinmera> kinda. I'm still struggling to get my head around the concept of 'phase' for PCM.