MonkeySphere Web is a browser-based loudspeaker directivity and polar-data analysis tool. It uses a modern React + TypeScript stack and offers loading polar datasets, visualizing them in 3D/2D/ISO/Coverage views, and exporting results.
- Full support for MonkeySphere
.mobfiles (RIFF/MOBA container with optional metadata and spectrum chunks). - View modes: 3D balloon/sphere, 2D polar plots, coverage contours (3/6/9 dB), and ISO heatmap.
- Import pipeline for IR/audio measurement sets with FFT banding.
- Export to PNG and CSV, plus full
.mobround-trip. - Persistent user settings (view options, colors, ranges, MRU).
- React + TypeScript
- Vite
- Bun
- Tailwind CSS
From the repository root:
- Install dependencies: bun install
- Start dev server: bun run dev
- Build: bun run build
- Preview build: bun run preview
- Run tests: bun run test
.mob(native MonkeySphere container; full fidelity).txt/.tab(CLF-like text).xhn(EASE 3.0).unf.gdf
Use Import Measurements to select a directory of IR/audio measurements. The app:
- Parses filenames to infer angle steps and symmetry.
- Computes FFT magnitude responses.
- Integrates bins into logarithmic bands (1, 3, 4, 10, 12, 24 per octave).
- Builds a polar dataset you can immediately visualize or save as
.mob.
- Range normalization and max/limit controls.
- Colormap and gradient editor.
- Dot overlays, shading, and coverage overlays.
- ISO view controls (angle range, band range, overlays).
src/ domain/ Data model and derived computations codecs/ File parsers and writers features/ UI workflows views/ 3D/2D/ISO/Coverage renderers workers/ Parsing and compute off the main thread storage/ Settings and MRU persistence ui/ Shared UI components
See the repository license for details.