Earlier quoted context omitted.
The ADCs on RP2040/2350 only have 12 bit resolution.
Yes, but this project doesn't do anything analog to begin with. It could just have several S/PDIF and I2S inputs, and convert that to USB. You probably don't want any processing then, and just pass the digital inputs straight to USB. The limit of how many channels you could simultaneously process would then be the USB bandwidth.
Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
31–40 of 95 posts
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#32Nice. 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.
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#33What would be the best way to have analog input and output?
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#34Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#35Is there a guaranteed latency?
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#36Nice. 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.
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#37Tangentially related, I recently had some hand-me-down high-end full tower speakers lose their integrated subwoofer amps. I bypassed them and wired in an external amp but people said the integrated DSP would be missing. That's when I learned about CamillaDSP [1] and CamillaFIR [2]. I got a calibrated UMIK-1 microphone and did a frequency sweep in the room. Then I applied the Camilla-computed FIR filter to my snapcast…
Did you ever use Dirac Live and can compare the results? Hardware that supports Dirac is unfortunately very expensive.
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#38I recently bought a Behringer U-phono UFO202 as a cheap DAC for my mini pc. Can this Pi thing replace it?
I use a UCA202 for the same purpose. Does yours output static sometimes when it sits for too long? Based on my testing this seems to be a Linux thing instead of a Behringer thing.
Re: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#39 mov r3, r10
adds r5, r5, r3
mov r9, r5
can be made into mov r9, r10
add r9, r5
since r5 and r3 are both dead, and so are the flagsRe: Fully Featured Audio DSP Firmware for the Raspberry Pi Pico
#40Nice. 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.
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.