Browser-based MIMO room-correction FIR solver (Pyodide / WebAssembly)
Configuration
Measurements
Run
Results
Config File
Desktop-format config JSON (e.g. config_testv2_laptop.json). Load populates the UI; solver keys without UI fields are kept and passed through.
System
Solver
Filter taps must cover the target delay (taps ≥ delay_ms × sample_rate / 1000) or the inverse filter wraps and produces garbage. At 96 kHz, 65536 taps ≈ 683 ms.
Target
House Curve (freq_hz, dB)
Speaker Profiles
Input Routing
Which speakers reproduce each input channel (comma-separated, 0-based). Primary is the anchor speaker for anchored target mode.
Source
REW Import
Make sure REW is running with API enabled (Preferences → API → Start). REW is reached three ways, tried in order: the proxy URL below (companion serve.py on this machine), the OptiMIMO REW Bridge browser extension (no install beyond one click, best for the hosted app), or the same-origin proxy when the app itself is served locally.
Upload WAV Files
Upload one mono WAV per (speaker, mic) pair. Files are assigned in order.
Drop WAV files here or click to browse
Synthetic Test Data
Generates synthetic room IRs with known peaks and modal tails. Matches the CLI smoke test.