Web Video Sonifyer

Webcam → frame difference → motiongram (row-average) → iFFT → audio
idle
audio: stopped
2.00
On
0.020
audio frame \(N\)
30
80
2000
0.005
0.35
0.70
The motiongram is built by averaging frame-difference over columns, producing one motion value per row (full frame height). That vector is used as magnitudes for an inverse FFT frame (with random phase), overlap-added into audio.
If you want a different mapping (e.g. average over columns, or use optical flow), tell me what sound you’re aiming for and I’ll adapt it.