PixelflutWaveform
The plan
The plan is to sample audio using a microphone, build a waveform display visualisation, send it over pixelflut to a display
To sample audio, I plan to use an ESP32 and an I2S digital microphone. I already have those available
The visualisation shows the raw waveform. In order to get a more-or-less stable picture, each new frame is chosen such that it resembles the previous frame. This is done with a cross-correlation. An FFT can be used for this. Suppose the display is 128 pixels wide, a piece of audio is sampled twice as wide (256 samples) and we find the 128-sample wide section that most resembles the existing waveform.
Pixelflut is a protocol to send image data to a display, you can send one pixel per message in a kind of ASCII format.
The display is a 128x16 RGB display, build out of LED panels.