Lab 6 · BirdNET on a Dawn Chorus
Biological motivation
Passive acoustic monitoring is now the cheapest way to survey a forest. BirdNET makes it feasible to process months of recordings in days. But raw BirdNET output is not a species list — it's a list of candidate detections that need to be calibrated against ground truth before any inference. This lab teaches you that calibration step.
Data
Provided in data/dawn_chorus/:
recordings/— six 4-hour WAVs from a Coast Range site, recorded 04:30–08:30 on consecutive June days (24 h total).truth_labels.csv— 400 hand-labeled 3-second clips drawn from the same audio, stratified across the day. Columns:file, start_s, end_s, species_or_noise.site_meta.txt— lat/lon/elevation/week.
Tasks
Task 1 — run BirdNET (3 pts)
Run run_birdnet.py on the six recordings,
using the site's lat/lon/week, with min_conf=0.1 (intentionally low so we have
plenty to calibrate). Save to birdnet_detections.csv.
Task 2 — species accumulation curve (4 pts)
For each of the 24 1-hour windows, compute the cumulative number of distinct species detected
at confidence ≥ 0.5, ≥ 0.7, and ≥ 0.9. Plot all three curves on one figure
(species_accumulation.png).
Task 3 — calibrate against truth (8 pts)
Join BirdNET detections to the hand-labeled clips by overlapping time intervals. For each of the 6 most-common species in your truth set:
- Sweep confidence threshold 0.1 → 0.9 in steps of 0.05.
- Compute precision and recall at each threshold (true positive = clip's truth includes the species and BirdNET predicted it).
- Plot a 2x3 panel of P-R curves (
calibration.png). - Pick the species-specific threshold that gives precision ≥ 0.9, and report the corresponding recall.
Task 4 — interpretation (5 pts)
In 250 words: which species need a high threshold to be trustworthy, and which can be trusted at lower thresholds? Are there species where no threshold gives precision ≥ 0.9? What would you do for those species in a manuscript?
Go-further
Repeat the calibration restricting to detections within 30 min of sunrise. Does BirdNET get sharper during peak vocalization, or noisier?
Rubric
| Component | Points |
|---|---|
| BirdNET pipeline runs cleanly | 3 |
| Species accumulation curves | 4 |
| Per-species calibration P-R curves and thresholds | 8 |
| Interpretation | 5 |
| Total | 20 |