PixelflutWaveform

From RevSpace
Jump to navigation Jump to search

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.