Skip to content

harisrab/acoustic-array-sim

Repository files navigation

Acoustic Array Sim

Python scaffold for simulation-first research on passive acoustic array sensing.

The first milestone is intentionally narrow:

  • define a bounded 1 km x 1 km world
  • place multiple acoustic array nodes at known coordinates
  • define one moving sound source on a trajectory
  • generate per-node multichannel audio with propagation delay and distance attenuation
  • write raw outputs and ground truth to disk for downstream processing

This is a research harness, not an operational system.

Repository Layout

openspec/changes/build-v1-simulator/   # proposal, design, and tasks
src/acoustic_array_sim/                # Python package
examples/                              # example scenario configs
output/                                # generated runs
tests/                                 # smoke tests

Quick Start

cd /Users/harisrashid/repos/acoustic-array-sim
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[dev]"
python -m acoustic_array_sim.run examples/basic_scenario.json --output-dir output
python -m acoustic_array_sim.qt_app

Current Capabilities

  • Config-driven world definition
  • Sensor node placement with local microphone geometry
  • Moving source trajectory sampling
  • Synthetic multichannel audio generation
  • Export of scenario.json, ground_truth.csv, and one multichannel WAV per node
  • Static visualization export as world_top_down.png and world_isometric.png
  • Interactive Streamlit + Plotly 3D scene viewer with timeline controls
  • Scenario-driven terrain and placed object rendering in the Streamlit 3D scene
  • Qt desktop simulator with persistent 3D scene, playback controls, source stats, and per-node audio panels

Next Steps

  • terrain-aware simulation effects
  • obstacle / reflection modeling
  • DOA estimation stage
  • classifier hooks
  • multi-node fusion

About

Acoustic Array Simulation for Detecting and Tracking Hostile Drones.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages