Real-Time Circular Chladni Plate Simulation using Python, OpenGL and Live Audio.
Signal captures microphone audio in real time, computes its frequency spectrum, and feeds it into a GPU shader that simulates a vibrating circular plate.
The result is a real-time Chladni-like pattern that responds dynamically to your voice.
Microphone → FFT → Mode Mapping → OpenGL Shader → Circular Plate → Nodal Lines
- Audio is captured continuously using
sounddevice. - Each chunk is transformed into the frequency domain using FFT.
- The spectral amplitudes are mapped to vibrational modes.
- These modes are sent to a GLSL fragment shader.
- The shader performs modal superposition.
- Regions near zero displacement are visualized as nodal lines (sand effect).
- Python 3.10+
- GPU supporting OpenGL 3.3+
- NVIDIA / AMD / Integrated GPU
pip install sounddevice numpy scipy moderngl moderngl-window