Echo Chamber

DSP runs in C++ compiled to WebAssembly. Click to load the module and grant microphone access.

Requires echo_chamber.js (built via Emscripten) in the same directory.

← Portfolio AL!Z · TrailblaiZ

Echo Chamber

C++ WebAssembly · delay · convolution reverb · real-time

Waveform
Idle
Delay
Time 250 ms
Feedback 40%
Mix 35%
Reverb
Decay 2.4 s
Pre-delay 15 ms
Mix 30%
Output Gain 100%
Implementation note All DSP runs in echo_chamber.cpp compiled to WebAssembly via Emscripten. The delay line is a power-of-2 RingBuffer with linear interpolation for sub-sample accuracy — the same structure used in EchoPsychFX (JUCE). The reverb is a Schroeder network: 4 parallel comb filters (mutually prime lengths, RT60-derived gain) followed by 2 all-pass diffusors, with a Gardner pre-delay. All parameter changes are smoothed with a one-pole filter to prevent zipper noise. JS handles only audio I/O and UI; it writes samples into the WASM linear memory heap and reads results back per block. Source: github.com/alizpasztor/echo-chamber