Birdjournal: Identify Birds by Sound, Offline, with Open-Source AI
Description and use
Birdjournal lets birdwatchers identify species from audio offline, combining BirdNET for detection and a local LLM for journal entries.
Problem
Beginner birdwatchers need a way to identify bird species from audio recordings without internet or cloud services.
Outcome
On a 46‑second recording of a Coppersmith Barbet, BirdNET detected the species at 100% confidence in all 16 three‑second windows, and the LLM produced a concise journal entry in English.
Workflow
- Record audio (.wav/.mp3) on a walk
- Run
python main.py <audio> --place "<city>, <state>" --lat <lat> --lon <lon> --out <output> - BirdNET identifies species and applies a geo filter
- A local LLM (default Qwen2.5 3B via Ollama) generates a short field‑journal entry
- Output is written to the specified markdown file
Evidence
BirdNET detected the barbet at 100% confidence in all 16 of its 3-second windows, with the location filter set to Sikar.
The idea is that the screen is the shortest part of the experience. You go outside, record, and listen. The tool does its work afterwards.
My first prompt let the small model invent facts that weren't in the detections, such as calling the barbet "colorful and melodious".
- Record date: 2026-10-11T18:41:09.594Z