Gaussian Blur 2D patch for Genius

I’ve released my first patch for Genius, which is a slight elaboration of my most recent patch for Lich. The Genius version moves skew/tilt for Texture Size and Blur Size onto parameters, adds a tilt for Feedback that allows blending from normal feedback to cross-feedback, and adds reverb after the compressor.

Here’s a video of the patch processing my Rhodes:

And the patch library link:

I wonder if that’s because texture size is divided by downsampling factor, so at higher SR we use larger textures and can achieve higher blur amount. You might be able to compensate downsampling if you multiply blur amount by dowsampling factor (and divide by 4 if you want it to be the same as on lich). But then you’d be just reducing the amount on Genius to make blur effect less prominent.

Regarding reverb, MI Rings/Clouds reverb can run using something like 7% CPU on H7, so it may be possible to add that and get rid of downsampling. Some performance loss is expected due to cache being shared between blur/reverb code and data, but it’s probably very close to being usable. OTOH, this MCU can get a fairly large CPU load delta on some patches due to cache and lots of different memory regions, so a larger margin may be required.

Blur amount, at least as a percentage of texture size, isn’t any larger without downsampling because I scale down the maximum blur size based on the ratio between the minimum texture size and the current texture size. So at the maximum texture size the maximum blur amount is ~0.059 with and without downsampling. That said, with 4x downsampling that’s a width of ~3 samples, vs ~16 without downsampling. Conceptually it represents the same amount of time, but it’s clear that functionally the “recovering” of the in-between samples during upsampling impacts the final result significantly. I decided to keep the 4x downsampling in the Genius version mainly because it helps maintain signal strength and also because with blur size set to zero, there is still a noticeable change in timbre when sweeping from dry to wet. Without downsampling, a dry/wet sweep with blur size set to zero sounds like a very tight delay at 50% and the exactly like the dry signal at 100%, which struck me as kind of strange.