RADLib
RADical C++ application framework

RADDsp is a standalone DSP module for audio, SDR/IQ, plotting, and analysis tools. It intentionally has no dependency on RADMedia so it can be reused across different data sources.

Current primitives include gain, mixing, peak/RMS, normalization, sine/noise generation, interleave/deinterleave, linear resampling, windows, FIR filtering, one-pole low-pass filtering, clean digital delay, analog-style modulated delay, and complex/IQ magnitude, phase, gain, and frequency shifting.

Real-time audio effects

RADDsp::DigitalDelay is a clean stereo delay line for predictable tempo or millisecond delays. It supports fractional delay reads, bounded same-channel feedback, bounded cross-feedback for ping-pong style routing, and dry/wet gain controls. The class can process one StereoFrame at a time or an interleaved stereo block, which keeps it usable from ALSA callbacks, RADMedia pipelines, and FPiGA control applications.

RADDsp::AnalogModDelay builds on the same delay-line model but adds LFO delay modulation, feedback tone smoothing, stereo LFO phase offset, and soft saturation. This is intended for tape/analog-flavored delay, chorus-like short delays, and FPiGA software effects where the FPGA synth remains low-latency and the Pi path adds character effects.

The reverb path should start with a Dattorro/Schroeder-Moorer/FDN-style algorithmic implementation for Pi Zero 2 W class hardware. That family gives a lush musical tail with fixed memory and predictable CPU. Convolution remains valuable for realistic spaces, but long impulse responses should be treated as a later partitioned-FFT option or a Pi 4 class profile because latency, memory, and CPU pressure are more expensive than delay-network reverb in the embedded synth use case.