Nice.
I wonder if 264/520 kB RAM is also enough for a high quality parametric stereo reverb/echo effect? Should fit about 3/6 seconds of uncompressed 16-bit 44.1/48 kHz audio.
Also: Raspberry Pi Ltd - please keep increasing the RAM size in future iterations to unlock even more use cases.
The RP2350 (Pico 2) supports external PSRAM so you can add several MB more there if you need it.
> high quality parametric stereo reverb/echo effect
I’m sometimes annoyed that the home audio/audiophile world is so separate from the live/professional world.
For playing recordings with fancy effects, you can throw massive overkill CPUs at it with small batches, brutefir style, or you can do high-latency FFT filters, and you can get essentially perfect FIR reverb effects with a latency vs complexity tradeoff.
But the algorithm in the middle exists and is not that exotic. You divide your impulse response into a very short piece at the beginning, then a longer piece after that, then a longer piece after that, in exponentially increasing pieces. And then you add up the results, with straight addition and multiplication for the short one, and (carefully scheduled to avoid stalls) FFT convolution for the long ones, and you get basically arbitrary long FIR filters with logarithmic amortized complexity per sample and as low as zero sample latency if you are so inclined.
I think this is called “non-uniform partitioning” or something to the effect. I’m not aware of any serious, public implementation for audio use.