Basically I just skimmed through
https://www.google.com/search?q=scipy+dsp+real-time and weeded out false positives that do use SciPy in some capacity, but also more specialised stuff such as the aforementioned Pyo. This mostly got rid of the music-related stuff (à la ‘what if guitar effect but Python instead of sclang’) and left me with e.g. Stack Overflow posts that simply confirm ‘yes, it's feasible’.
But I have two noteworthy links:
https://warrenweckesser.github.io/papers/weckesser-scipy-lin...
Particularly “Filtering a long signal in batches” on page 6, where it shows how to apply the Butterworth filter from the previous section to individual windows while preserving its state across invocations. As I'm familiar with NumPy, but very ignorant about scipy.signal, this was the ‘Bingo!’ moment for me :)
https://scikit-dsp-comm.readthedocs.io/en/latest/
> This allows in particular demodulation of radio signals and downsampling to baseband analog signals for streaming playback of say an FM broadcast station.
I didn't dig into where it does the heavy lifting for that (sample rates in the MHz range) — there may be some C/C++ involved. But the docs show some nice examples of how to do streaming audio DSP with NumPy, SciPy and PyAudio inside Jupyter:
https://scikit-dsp-comm.readthedocs.io/en/latest/nb_examples...