Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

TrailBirder — offline bird-song ID and a local-LLM field journal for Alberta trails

Description and use

TrailBirder – an offline C#/.NET 8 app that identifies bird sounds and writes concise field journal entries without internet.

Problem

Hearing birds on Calgary walks and not knowing what they were.

Outcome

TrailBirder enables offline, real‑time bird identification and field journaling on Alberta trails, reducing screen time and eliminating the need for internet or cloud services.

Workflow

  • 1. Start TrailBirder on device. 2. App records audio via mic (NAudio on Windows, arecord on Linux/Pi, ffmpeg on macOS).
  • 3. Audio is processed by BirdNET v2.4 converted to ONNX, producing scores for 6,522 sound classes.
  • 4. Range model filters scores based on latitude, longitude and week to plausible species.
  • 5. Gemma 3 via Ollama generates a grounded journal entry from detections and range model output.
  • 6. App displays detections and journal entry; user can stop recording with Ctrl+C.
  • 7. If Ollama is not running, detections and clips are saved and journal can be written later with "trailbirder journal".

Evidence

TrailBirder is a small C# / .NET 8 app that listens to birds on the trail, names them, and writes you a short field-journal entry. It runs entirely on your own device, with no signal, account or cloud.

Source

On Ubuntu, it installs Ollama, pulls Gemma 3 (1B), and analyzes BirdNET's example recording end to end. The journal it writes appears in the run summary.

Source

The real part of an FFT is just a matrix multiply by a cosine table: Re(RFFT(x))[k] = Σₙ x[n] · cos(2πkn/N)

Source

The range model scores both at 0.000 for Calgary in October, so they never reach the user.

Source

  • Record date: 2026-10-11T19:55:59.588Z