175 comments

[ 0.22 ms ] story [ 11.3 ms ] thread
Super cool, could be plugged into https://www.earthcam.com/ for global bird tracking.
How do you like the bird weather device? I’m interested in a more turnkey solution as well
I'm fairly satisfied with it and would recommend it to others who aren't interested in building their own solution. I like supporting the folks who are building it, although I'm unsure what the future looks like for the product. Could enshittify, could turn into Home Assistant Foundation [1] (which I also financially support). Time will tell.

[1] https://www.openhomefoundation.org/

Finally a good use for Flock cameras. They're even named appropriately.
> No waiting. No manual recording.

> No cloud services. No API calls.

> No subscription fees. No terms of service changes. No company shutting down the service in two years.

Really nice project! Expected a visual ID system, surprised it was using audio. "Flock" would be a great name for the project...oh well!
I get jealous of people that have the luxury of time to do things like this
I just used AI(antigravity with gemini 3.6 flash, but i'm sure many others would work) to implement this and integrate it with my security cameras after reading the blog post 26 minutes ago. I suspect the author did the same thing. I also had it steal the idea from the AvianVisitors link in this thread and it displays a generated collage of the recently detected birds.
My setup took maybe ~4-8h of initial work. All with the help of Codex: code, configuration, even figuring out which equipment to buy.
Nice! I've tried to build something similar with Unifi cameras (https://github.com/dewey/birdhomie) and it worked pretty well, the species detection wasn't that accurate but I'll continue on that project in the winter.
I did exactly this with BirdNet-Go and my Unifi doorbell cam. Unifi exposes an RTSP feed for each camera so it was easy for the tool to just "listen" to the doorbell and start classifying.

I have a spare e-ink display and my next weekend project to follow onto this is to wire it up so it shows some faux "woodcut" images of birds detected, or something like that.

just use trmnl it will make it super easy
I like my money to not go towards transphobes
I like my TRMLN it has been very solid.
i suspect ur talking about the founder ryan ckulp which is very active in his reddit /r/trmnl but cant seem to find any proof of transphobic stance
is there proof? i see that the founder ryan ckulp is active in /r/trmnl but dont see any proof of being misogyn or transphobe
I did something similar with my BirdNET + e-ink screen, it's pulling images from wikipedia, dithering and rendering a summary with PIL.

https://i.imgur.com/5XbM6bb.png

Also if anyone is interested, here is the server for the e-ink screen https://github.com/koryk/inky-impression-server

and here is a MCP for birdnet that I've been using for a bit https://github.com/koryk/birdnetpi-mcp-local-server

Love your eink example! You’ve just sent me on a parts shopping trip :)

I’ve been unhappy with my little lcd board I’ve been using for the same here https://github.com/simonjgreen/OpenObservatory as the contrast is bad. I was considering using one of my trmnl displays, but it isn’t quite the right operating model for the frequency of updates I want.

The e-ink display with woodcut birds sounds like the perfect final form of this project
> Unifi exposes an RTSP feed for each camera

Do you mean an RTSP audio only stream separate from the video+audio feed you might ingest to an NVR, or combined audio/video RTSP stream? Most manufacturers of security cameras with ordinary RTSP stream functions support provide both video and audio together. 'Frigate' for instance will auto detect audio stream on a reolink camera and it "just works" in the latest versions of Frigate.

ha, now imagine some hacker changing all the Flock firmware nationwide to do bird identification too

would have been a great Mr. Robot episode

My cat wants to know who/where does one ask to request to have a specific bird located?
Flock would live up to its name.
In the non-fucked up timeline where Hilary won in 2016, Flock cameras is a nationwide network of automatic bird identification cameras to track bird population and migration.
This would be Hillary "Can't we just drone him?" Clinton, or some other Hillary?
Come on man, let us have a nice little alternate universe without peeing in our Cheerios.
(comment deleted)
I don't love it either, but it's better than the alternative of Peace President(tm) -- famous for strokes of genius such as "can't we just shoot [the protestors] in the legs"; asking the military to "shoot missiles into Mexico to destroy the drug labs; and the masterful decision to deny Iran nuclear weapons by withdrawing from the JCPOA and joining Israel in waging an illegitimate war.
It sounds like a "both sides" argument, which should indeed be flagged early and often. It's not, though.

I'd still vote for her over the alternative the Republicans chose to offer to us (and did so). It was the only responsible thing to do.

Yea tbh the only thing "wrong" about Hilary to me is that she rubs me the wrong way -- like I have a feeling she's just married to Bill so they can be the ultimate political power couple. But realistically that's such a terrible reason to dislike her, and is such a non-factor compared to the miles long laundry list of god-emperor Cheetolini's substantive flaws.
The real both sides argument is that there are only two teams to pick from.
Heads up. I noticed the screenshot of your markdown card has an ASCII block that goes below the baseline. `U+2588` (Full block) tends to do that depending on a lot of things.

I made a change to the markdown card sometime ago that uses only `U+2581` through `U+ 2587` instead to avoid that issue.

It's under a collapsed block here:

https://www.kyleniewiada.org/blog/2025/05/backyard-bird-trac...

110 detections over 7 days? Here in Sydney I would expect >110 detections per day!
You can adjust which detections are accepted based on confidence level, so it might be that the settings are very strict.
Two rainbow lorikeets just had sex 2m from my breakfast table. I think there's a substantive distinction in avian fauna density.
I've done essentially the same thing before (using my existing Go2RTC and Frigate setup) but the challenge I ran into is that the microphones on my cameras just aren't very good.
ONLY? Here deep in the Amazon jungle I would expect 110 per HOUR!
I'm normally against gamifying things, but...
I am imagining a Gary Larson strip about a flock of birds who are so not fond of this.
Btw, Merlin Bird ID app by Cornell University is so good that I got some people interested that weren't into that topic at all.
Indeed. I use Merlin Bird ID all the time. I found it good across many countries.
I call it Pokemon Go for grown ups. How many do you have in your life list? I finally managed to snag a Tawny Owl last week.
Tawny owls make so many different noises. The classic sound is two, one calls and one answers but they are very chatty with different sounds. They live all around, but never seen one.
But a warning for novice birders: Merlin's sound ID feature produces a lot of false positives.
I've not seen this personally, but maybe it's region specific.
Merlin got me into birding, and I've found this to be true, at least in some regions, especially if there's lots of background noise.

Unless a species has a really, really unique call or song, I've made it my personal rule to get eyes on it and, if I'm still not convinced, to take a picture and cross reference with iNaturalist and what folks on there think of it.

I've learned to curse the species that differ from others by the sheen of the backs of the males' necks or the angle of a wingbar. Also, gulls that only differ by things like the color of their feet or beaks.

You can usually tell, though. Rare birds in the wrong place or time that come up only once are problematic, but if the bird is detected repeatedly there's a better chance. You should also be on the lookout for birds that mimic other birds (like the northern mockingbird and the gray catbird.)
Cornell / Merlin / eBird publishes a global species frequency DB indexed by location and date (so, how likely is a species to appear in a place, on a day of the year)... In a project that I was working on, this helped a lot when used to influence the "raw" identification based on appearance alone.
For info, there's a FOSS bird-call app, available on F-Droid, that's pretty decent: WhoBird
Occasionally I'll see a screenshot of Merlin with, I dunno, a dozen different birds, and in the middle of the list: a catbird. I never have the heart to tell people that they just heard one very creative bird.
For me, mostly a lot of false negatives. I have a Pixel 8, and I have no problems using the microphone normally, but somehow, Merlin requires the bird to be within a couple of meters of me and sing for quite a while before Merlin will even say “hearing a bird”. And of course, you have to be dead silent; if anyone talks or coughs, it will mess up the spectogram badly.

Given that it's colloquially “Shazam for birds” and Shazam is just amazingly resistant to noise, it's a bit disappointing :-)

I think what makes Shazam magically "just work" is that they are searching for the exact embedding of the recorded version of the song - it doesn't work for a cover version, acapella, etc even if it is very similar. (Everyone would want an app that you can hum into and it will ID the song, but I guess it's a very tough problem.)

Merlin is solving the more general problem so makes sense that it's much more finicky and less accurate.

> an app that you can hum into and it will ID the song

YouTube Music and Google Search do OK with these types. Sometimes if I know a song well enough, I will open YT Music, activate the mic search, and sing a few bars, instead of typing the song title.

According to Gemini, SoundHound is also a good app for song-hummers to try.

Still, we're talking orders of magnitude here. I've fed Shazam with a stream of the cheapest lapel microphone you could get, mounted behind a rack filled with twelve very noisy servers, in a hall filled with 5000 people also all being noisy, and it would reliably recognize music from the other side of that hall before I could do so myself (I had to walk halfway there to hear “oh, yes, it's actually right”). And that's on a stream encoded with 9600bps GSM compression. With Merlin, I can hold out my phone on a silent day, hear the bird loud and clear and it will hardly register.

Shazam primarily identifies on the geometry of spectogram peaks, FWIW (I wrote my master's thesis on the DSP of music recognition back in the day; it's possible that they are doing something more fancy now, of course, but I'm not sure if they would want to). I don't know exactly what Merlin is doing.

I'm not sure why but this seems very phone dependent. I can stand next to another person, both running Merlin in silence, and mine will pick up much more than some people's phones. My phone is not particularly new (Zenfone 8).
Indeed - background noise will tend to lead to a lot more false positives, but you should use it as a guide rather than inherently trusting results. Same goes for using BirdNET-go and other models, though these do allow you to be very strict with detections and reduce false positives more.
Merlin's story is very interesting: https://www.birds.cornell.edu/home/the-magic-of-merlin/

The journey to a magical, free bird sound ID app involves some obvious steps (the NSF gave them money), but the amount of timeline offramps is really high. The NSF didn't think this app was educational ("it's just telling them the answer, they don't even have to work for it!"), the funding ran out so they were thinking of charging money, eBird happened to have five years of bird sound recordings they could use, a computer vision guy on the team happened to learn that spectrograms are basically the same as pictures...

And the result is tremendously useful! They get great signal on where birds are, and they're making people so much more interested in birds and nature and science. And I think charging $1 for the app or, shudder, some sort of subscription model might've ruined the whole thing.

Funnily enough I was in the bathroom (that's where I do my most random thinking) just yesterday evening thinking how template matching in computer vision, e.g. https://docs.opencv.org/5.0/py_tutorials/py_imgproc/py_templ... is basically audio signal processing but instead of being temporal it is spatial. Different signals but same principle.
Btw the btw Merlin ID and OP's Birdnet uses the same model
flock for family tracking and block for bird tracking may be !
Hell yeah a birdie over thirty, with a splash of tech!

(you either go the path of a burner or a birdie, I don't make the rules)

What an interesting and fun project. Now I want something similar too.
how confident is it in the identification? i imagine sometimes the angle is or resolution is bad and it may detect a bird but not have a lot to go off of to say what kind. does it narrow the list down or just make a guess?
It looks like they are using audio. Even with poor audio on my phone I find that it works very well. Once in a blue moon I'll get an ID I am doubtful of from BirdNet but it's rare in my experience.
but the thing with AI is that it excels in creating things we would not doubt, regardless of the truth. in particular, i find it to be susceptible to avoiding doubt at the expense of truth.

though i would be hopeful for bird audio, as differentiating their calls is something the birds themselves excel at, so it could very well be a great usecase for ai

machine learning has been used to identify bird calls for a while now, it's more of a classifier than a content generator, so it identifies calls and provides a confidence level

while it's not perfect it's not really producing hallucinations of pterodactyls or anything like that

Nice! I never thought about using my security cameras but ended up building a regular Birdnet-Pi with a microphone. I took it one step further to make it portable so that I can use it when we hike or travel to new places. Added a little e-ink display to the front and it allows me to see Top 3 for the day, last detected, and total number for the day.

Case I used to make it portable and fit the display https://makerworld.com/en/models/1336154-portable-pi-sdr-cas...

Been working on a similar project for doing animal behavioral analysis on cameras setup in a barn. Turns out I need to build a data distillation pipeline first.
I run BirdNET-Go as an app on my Home Assistant i7 M710q. I use the GPU-enabled BirdNET model and Perch V2, and it works swimmingly.

Input is three RTSP streams from various Reolink PoE cameras around our house, and it is pretty cool to be able to find and listen to the birds/frogs that come.

I have a situation with a couple of hundred chimney swifts. I want to set-up cameras to differentiate between individual swifts.

Any advice on how to go about this.

My current plan is to put multiple cameras at the mouth of the chimney opening which is about 42"x42"(1mx1m).

There's a growing literature on individual animal identification from sound!

Here's one example: https://github.com/sammlapp/ovenbird-individual-recognition

My impression is that the hardest part is knowing whether or not you're actually doing a good job. For vocal learners (like the ovenbird example linked above), it seems to be pretty easy using embeddings from existing models (like perch or birdnet). For non-learning species (possibly including your swifts), you can use timbre clues to differentiate many individuals, but may not be able to really nail down individual identity.

I guess the first step is to install the cameras and see what I can figure out from there. I never thought about the perching or vocalizations as an identifier.

Thank you for bring this up.

I have this too, I was looking to get more automated call recognition after we spotted a pheasant in my (suburban) back garden. I was going to buy a dedicated mike, but then realised that birdnet go works with any rtsp audio stream.

I do need to tune the false positives though.