Skip to content

blackboxaudio/pond

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pond

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.

Architecture

Mobile Phones (Svelte PWA)
        β”‚
        β”‚ WebSocket (JSON)
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  pond-server (Rust)     β”‚
β”‚  β”œβ”€ WebSocket Server    β”‚
β”‚  β”œβ”€ DSP Graph (bbx_dsp) β”‚
β”‚  └─ Audio Output        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β–Ό
   Ambisonic Speakers

Project Structure

pond/
β”œβ”€β”€ pond-server/    # Rust backend (WebSocket server + DSP)
└── pond-web/       # Svelte 5 frontend (mobile PWA)

Quick Start

Prerequisites

  • Rust (edition 2021)
  • Node.js + Yarn

Linux Dependencies

sudo apt install libasound2-dev libssl-dev pkg-config

Running

  1. Start the server:

    cd pond-server
    cargo run --release
  2. Start the web app:

    cd pond-web
    yarn install
    yarn dev
  3. Open the web app on a mobile device connected to the same network

See the individual README files in each subproject for more details.

Tech Stack

  • Backend: Rust, bbx_dsp, bbx_net, rodio, tokio
  • Frontend: Svelte 5, TypeScript, Vite, @bbx-audio/net