An interactive ambisonic sound installation where audience members walk through a physical space and tap their phones to create water droplet sounds at their tap location.
Mobile Phones (Svelte PWA)
│
│ WebSocket (JSON)
▼
┌─────────────────────────┐
│ pond-server (Rust) │
│ ├─ WebSocket Server │
│ ├─ DSP Graph (bbx_dsp) │
│ └─ Audio Output │
└───────────┬─────────────┘
│
▼
Ambisonic Speakers
pond/
├── pond-server/ # Rust backend (WebSocket server + DSP)
└── pond-web/ # Svelte 5 frontend (mobile PWA)
- Rust (edition 2021)
- Node.js + Yarn
sudo apt install libasound2-dev libssl-dev pkg-config-
Start the server:
cd pond-server cargo run --release -
Start the web app:
cd pond-web yarn install yarn dev -
Open the web app on a mobile device connected to the same network
See the individual README files in each subproject for more details.
- Backend: Rust, bbx_dsp, bbx_net, rodio, tokio
- Frontend: Svelte 5, TypeScript, Vite, @bbx-audio/net