Moosa Memon
← Index of work

Years of forest audio, turned into cited ecological assessments

Chorus Ledger: tracks a site's acoustic indices and species detections over time, separates real change from seasonality, detects change points, retrieves candidate explanations from the field log and literature, and writes a confidence-scored ledger entry that says what it couldn't determine.

Type
Environmental
Stack
Python / Time-series / Retrieval / LLM / FastAPI
Status
Complete; runs offline by default with evaluation and ablation
Measured
Deseasonalising before change-point detection is worth +0.33 recall in the ablation

Problem

Passive acoustic monitoring networks generate millions of hours of recordings, and audio captures the nocturnal and cryptic species that cameras and satellites miss. Species classifiers (BirdNET, Perch) are mature. Turning “the soundscape shifted in March” into “here’s what likely happened and what to check next” is still manual, expert-time-intensive work.

System

Ingest → trend → attribute → assess → write. Every index series is deseasonalised against a robustly fitted harmonic model of day-of-year and day-of-week before change-point detection, because on a raw tropical series a detector finds the annual cycle and nothing else. Candidate explanations are retrieved from the site’s field log and the ecological literature. A rubric owns the verdict and the confidence; the language model ranks hypotheses and writes prose, and never emits a score. A review dashboard shows the ledger.

Worth knowing

Have a workflow that looks like this?

Most of these start as a messy, manual process someone got tired of. Twenty minutes is usually enough to sketch how I'd approach yours.