The Model · v7.6
A 2.3M-parameter convolutional network trained on 465,000 labelled audio windows across 29 hydrophones. Calibrated with per-site conformal thresholds so each deployment hits its own false-alarm budget. Ships as a single Python package — pip install, five minutes, you're streaming detections.
The model checkpoint, calibration tables, sample clips, and every CLI subcommand ship inside one Python package. Verify the install with os doctor — it loads the v7.6 weights, runs a synthetic spectrogram through the pipeline, and prints PASS for each component. Non-zero exit if anything is broken, so it slots into CI too.
os onboard walks the operator through an 8-step protocol driven by Gemma 4 function-calling. Gemma orchestrates fourteen real tools: AIS baseline lookup, ambient recording, spectral fingerprinting, transfer-learning match against known sites, two-layer adapter fine-tune, conformal threshold calibration, alert policy, and the final YAML write. Takes about five minutes. The result is a site with a per-site decision threshold tuned to its own false-alarm budget.
os detect <wav> --site <id> runs the whole stack on a single recording: 16 kHz mono, 128-mel log-power spectrogram, the v7.6 CNN, then the site's calibrated threshold to decide the tier. Pass --ais N to inject the AIS vessel count in radius — that's what separates DARK_VESSEL from CONFIRMED_VESSEL. Output the same line as JSON with --json.
os monitor --watch.Point the watcher at the directory your hydrophone drops WAVs into. Each new file is processed once its mtime stabilises (3 s default — protects against partial writes from cron / ffmpeg / rsync). Every detection is appended to a local events.jsonl and POSTed to the public Supabase ingest gateway with the rendered spectrogram, Grad-CAM overlay, and Gemma's analyst paragraph. The dashboard subscribes via Postgres-realtime and updates within ~200 ms.
Under the hood
Press enter and the CLI carries the full pass locally: normalize the clip, shape the spectrum, score the signal, check context, render evidence, then publish one validated event to Supabase realtime.
Clean 60-second window
The CLI resamples each clip to 16 kHz mono, then pads or crops it into one precise minute so every deployment starts from the same signal.
The dashboard is plugged into the same Supabase the CLI pushes to. Open it and you'll see the three pilot deployments and the OC01 case study — the discovery where the CNN surfaced 560 mislabeled ambient chunks that the original SanctSound corpus had labelled as quiet.