-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Alexander Refsum Jensenius edited this page Jul 18, 2026
·
10 revisions
Moved from the README so it can evolve without commits. Roughly ordered.
- State-resolved descriptors (v0.8.0) —
ambiscape resolve/resolve.machine_states/diel_statesslice a multi-state session by machine band or wall clock and run the full summary on each state (states.json), so a drone night and a quiet morning stop averaging into one number. - Standard ratings & global indices (v0.5.0) — NR/NC/RC room criteria, intermittency ratio + emergence, the ecoacoustic battery (ACI, ADI/AEI, NDSI, BI, entropy H), EDT/C50/C80/D50, and spatial descriptors (directional entropy, horizon fractions, fg/bg direction overlap) appended to every analyze summary.
- Catalog aggregation (v0.7.0) —
ambiscape catalogcollects allsummary.jsonfiles in a corpus into one CSV + transposed Markdown table, withrank/outliershelpers for cross-session statistics. - Tests + CI — 26 pytest tests over a synthetic AmbiX fixture (BWF writer, plane waves, diffuse noise, phase-locked synthetic swinging bells); GitHub Actions on Python 3.10/3.12 (v0.2.0).
- Cyclic-machine detector — landed in v0.3.0 as the
statesmodule (band_level,state_segments,switch_points,duty_cycle) plusbackground.source_fingerprintfor the on-state spectrum. Field validation: the Haarlem-loft case study (air-pump night states, fridge ~24 min duty cycle). - Tonal-event finder — landed as the
rhythmmodule (strike detection from partial envelopes, point-process periodicity, phase clusters, repetition-vs-variation stats). Civic-schedule matching landed in v0.3.0 asschedule.grid_scan(targeted per-tick scans) alongsideschedule.match_periods. - Wind/handling detector for outdoor takes (LF coherence between channels is the usual tell).
- Environmental-rhythm metric — a defensible single figure (or small vector) built from envelope power spectra at minute-to-hour scales, duty cycles, and state-alternation periods. Research question as much as feature.
- Longitudinal / seasonal analysis (v0.10.0) —
longitudinalmodule: trend + seasonal decomposition of dated session summaries across weeks/months/a year (the year-in-one-room path is many daily sessions → 365 tiny rows → inherently out-of-core). - Per-file scene mode (v0.10.0) —
io.open_recordingandambiscape scenes <folder>for contributed corpora organized as independent recordings rather than folder-sessions (validated on the 41-scene Transcontinental set: all descriptors physically sensible).
- AEM export adapter — write ambiviz-compatible AEM
.npzfor a selected excerpt so the hand-off needs no glue code. - BirdNET hook (v0.6.0) — species-level biophony on hi-fi windows
(
ml.birdnet_session, gated by diffuseness), optional[ml]companion to PANNs, plus a cache-basedbiophonymodule (narrowband activity, temporal entropy, band activity, spatial dispersion) for corpus-wide structural biophony without ML. - CLAP zero-shot search — free-text queries ("compressor hum", "door slam") across a corpus's cached features/excerpts.
- PyPI (v0.2.0, trusted publishing)
- Documentation site (MkDocs → GitHub Pages)
- Zenodo DOI per release (GitHub–Zenodo integration)
- JOSS or similar software paper once tests + state-resolution land