I built dspx after hitting a wall with real-time EMG processing in Node.js.
Problem: 2 kHz × 8 channels → filters → decimation → FFT.
JS is too slow; the Python sidecar is complex; WASM lacks native threading.
Solution: Native C++ DSP with Redis-persisted state. Workers process a chunk, save state in ~1–2ms, die, and resume elsewhere. Serverless DSP without losing filter history.
4 comments
[ 2.1 ms ] story [ 17.9 ms ] threadProblem: 2 kHz × 8 channels → filters → decimation → FFT. JS is too slow; the Python sidecar is complex; WASM lacks native threading.
Solution: Native C++ DSP with Redis-persisted state. Workers process a chunk, save state in ~1–2ms, die, and resume elsewhere. Serverless DSP without losing filter history.
Repo: https://github.com/a-kgeorge/dspx Benchmarks: https://github.com/a-kgeorge/dspx-benchmark npm: https://www.npmjs.com/package/dspx