Real audio-analysis platform for ecosystem restoration monitoring.
AcoustiMap Restore is a prototype application that lets restoration ecologists upload environmental audio recordings, run a real Python audio-analysis pipeline, and compare acoustic structure across healthy, restored, and degraded sites.
- Frontend: React + TypeScript + Vite + Tailwind CSS
- Backend: Python + FastAPI + SQLAlchemy + SQLite
- Analysis: NumPy + SciPy + Librosa + scikit-learn
- Worker: Background process for audio analysis jobs
- Storage: Local filesystem for audio files and generated artifacts
docker compose up --build- Frontend: http://localhost:5173
- Backend API: http://localhost:8001
- API docs: http://localhost:8001/docs
cd backend
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reload --port 8001cd backend
python -m app.workers.analysis_workercd backend
python -m app.seednpm install
npm run dev- Create, edit, archive, delete, and copy project metadata
- Upload audio recordings (WAV, FLAC, MP3, M4A, OGG) with metadata
- Real Python audio analysis: ACI, Biological-Band Spectral Magnitude Ratio (×10), spectral entropy, temporal entropy, ADI, AEI, NDSI
- Technical quality features: RMS, peak, clipping, silence, zero-crossing rate, frequency band energy
- Spectrogram and waveform generation from uploaded audio
- Rule-based quality control with manual override and audit trail
- Reference model with transparent recovery score calculation
- Bootstrap uncertainty estimation
- Chronological Theil–Sen recovery momentum using actual elapsed dates, with internal bootstrap bounds
- API-backed React project setup, job progress, results, quality flags, artifacts, and exports
- Export project JSON, recording CSV, and reproducible analysis bundle (ZIP)
- Docker Compose for one-command setup
- Alembic migration workflow for fresh and prior unversioned SQLite databases
- Human quality decisions in live results, with a persisted audit trail
- Feature ablation experiments page
- Negative controls (label shuffling, reference swap)
- Leaflet map view for sites
- Provenance drawer
- Acoustic features are calculated from real audio using documented formulas
- Recovery score is transparently computed from category centroid distances
- Bootstrap uncertainty reflects actual resampling of the data
- Quality flags are based on measured signal properties
- Acoustic indices are not direct measures of biodiversity
- Recovery score does not imply causation
- Results require ecological context and external validation
- Scores are not comparable between unrelated ecosystems without calibration