Skip to content

More models#520

Draft
Nachtzuster wants to merge 6 commits into
mainfrom
more_models
Draft

More models#520
Nachtzuster wants to merge 6 commits into
mainfrom
more_models

Conversation

@Nachtzuster

Copy link
Copy Markdown
Owner

No description provided.

@Nachtzuster Nachtzuster force-pushed the more_models branch 2 times, most recently from 25990ec to 0a813ad Compare November 28, 2025 17:03
@Nachtzuster

Copy link
Copy Markdown
Owner Author

see here: #506

@Nachtzuster

Nachtzuster commented Nov 28, 2025

Copy link
Copy Markdown
Owner Author

If someone stumbling over this PR, has a RPi5 with 4G (or 8) of RAM, I'd be interested how close that hardware comes to real-time processing with the Perch 2.0 model.

@Svardsten53

Copy link
Copy Markdown

I have a RPi5 4GB running Trixie and am able to test for a couple of days.

@Nachtzuster

Copy link
Copy Markdown
Owner Author

@Svardsten53 Cool, it doesn't have to be days, just enough to let any thermal throttling kick in, 1/2h or so.

@Svardsten53

Copy link
Copy Markdown

How should I proceed?

@Nachtzuster

Copy link
Copy Markdown
Owner Author

to switch to this branch:

git remote remove origin
git remote add origin https://github.com/Nachtzuster/BirdNET-Pi.git
git fetch
./scripts/update_birdnet.sh -b more_models

Then in the ui:

  • Tools->Settings->Model
    change the model to Perch and save.
  • While you're in there, make sure the recording length is set to a multiple of 5s.

Then, on the View Log page, you should see it start the download & install of Perch, and start analyzing again.

To revert after the test:

  • change the model & recording lenght back to what you had & save.
  • run Tools->System Controls->Update

@Svardsten53

Copy link
Copy Markdown

I have made the modification and it went well. It is winter and dark here and no birds are awake now, will come back tomorrow when I have real hits. The log looks like this right now:

17:47:25---[utils.analysis][INFO] READING DONE! READ 3 CHUNKS.
17:47:25---[utils.analysis][INFO] ANALYZING AUDIO...
17:47:32---[utils.analysis][INFO] DONE! Time 6.76 SECONDS
17:47:32---[utils.analysis][INFO] 0.0;5.0-(Strix aluco_Kattuggla, 0.0852049)
17:47:32---[utils.analysis][INFO] 5.0;10.0-(Strix aluco_Kattuggla, 0.0528146)
17:47:32---[utils.analysis][INFO] 10.0;15.0-(Glaucidium gnoma_Trollsparvuggla/Mexikansk sparvuggla/Guatemalasparvuggla/Californiasparvuggla, 0.28088152)
17:47:40---[birdnet_analysis][INFO] Analyzing BirdSongs/StreamData/2025-11-29-birdnet-17:47:25.wav
17:47:40---[utils.analysis][INFO] READING AUDIO DATA...
17:47:40---[utils.analysis][INFO] READING DONE! READ 3 CHUNKS.
17:47:40---[utils.analysis][INFO] ANALYZING AUDIO...
17:47:47---[utils.analysis][INFO] DONE! Time 6.77 SECONDS
17:47:47---[utils.analysis][INFO] 0.0;5.0-(Otus scops_Dvärguv, 0.08493322)
17:47:47---[utils.analysis][INFO] 5.0;10.0-(Strix aluco_Kattuggla, 0.075487494)
17:47:47---[utils.analysis][INFO] 10.0;15.0-(Strix aluco_Kattuggla, 0.09072949)
17:47:55---[birdnet_analysis][INFO] Analyzing BirdSongs/StreamData/2025-11-29-birdnet-17:47:40.wav
17:47:55---[utils.analysis][INFO] READING AUDIO DATA...
17:47:55---[utils.analysis][INFO] READING DONE! READ 3 CHUNKS.
17:47:55---[utils.analysis][INFO] ANALYZING AUDIO...
17:48:02---[utils.analysis][INFO] DONE! Time 6.68 SECONDS
17:48:02---[utils.analysis][INFO] 0.0;5.0-(Anas platyrhynchos_Gräsand, 0.09872491)
17:48:02---[utils.analysis][INFO] 5.0;10.0-(Strix aluco_Kattuggla, 0.06358467)
17:48:02---[utils.analysis][INFO] 10.0;15.0-(Strix aluco_Kattuggla, 0.06477026)
17:48:10---[birdnet_analysis][INFO] Analyzing BirdSongs/StreamData/2025-11-29-birdnet-17:47:55.wav
17:48:10---[utils.analysis][INFO] READING AUDIO DATA...
17:48:10---[utils.analysis][INFO] READING DONE! READ 3 CHUNKS.
17:48:10---[utils.analysis][INFO] ANALYZING AUDIO...
17:48:17---[utils.analysis][INFO] DONE! Time 6.69 SECONDS
17:48:17---[utils.analysis][INFO] 0.0;5.0-(Strix aluco_Kattuggla, 0.09047765)
17:48:17---[utils.analysis][INFO] 5.0;10.0-(Catharus guttatus_Eremitskogstrast, 0.075502835)
17:48:17---[utils.analysis][INFO] 10.0;15.0-(Strix aluco_Kattuggla, 0.043063913)
17:48:25---[birdnet_analysis][INFO] Analyzing BirdSongs/StreamData/2025-11-29-birdnet-17:48:10.wav
17:48:25---[utils.analysis][INFO] READING AUDIO DATA...
17:48:25---[utils.analysis][INFO] READING DONE! READ 3 CHUNKS.
17:48:25---[utils.analysis][INFO] ANALYZING AUDIO...
17:48:32---[utils.analysis][INFO] DONE! Time 6.65 SECONDS
17:48:32---[utils.analysis][INFO] 0.0;5.0-(Corvus brachyrhynchos_Amerikansk kråka, 0.08532232)
17:48:32---[utils.analysis][INFO] 5.0;10.0-(Strix aluco_Kattuggla, 0.0863838)
17:48:32---[utils.analysis][INFO] 10.0;15.0-(Strix aluco_Kattuggla, 0.042975165)

@Nachtzuster

Copy link
Copy Markdown
Owner Author

@Svardsten53 Thanks! So it looks like a RPi5 can comfortably run Perch.

@Svardsten53

Copy link
Copy Markdown

Is it possible to limit the results to birds? I am now getting false positives on wolves and frogs. Is it possible to use eBird filtering?

What is the status of the new analysis model from BirdNET-Analyzer?

Pearch

@dalogue1

dalogue1 commented Dec 3, 2025

Copy link
Copy Markdown

I am testing out the Perch_v2 model, and I notice that for my system the model returns lower confidence levels to identify the same types of birds. For instance, I had my confidence set to 0.8 originally and now I have it set to 0.3

My recordings have a background hum from an A/C unit that I cannot avoid and I suspect that is affecting the confidence.

That difference aside I am running the model and appear to be getting good results. This is my Perch 2.0 site on BirdWeather https://app.birdweather.com/stations/5355

@dalogue1

dalogue1 commented Dec 3, 2025

Copy link
Copy Markdown

I have been modifying the settings and what I settled on so far is as follows:

  • Recording length: 33
  • Extraction Length: 5
  • Overlap: 1
  • Minimum Confidence: 0.7

This results in the model having a better chance of having a window of 5 seconds that identifies well.

The RPi5 4GB with M.2 NVME has no problem keeping up.

@Nachtzuster

Nachtzuster commented Dec 6, 2025

Copy link
Copy Markdown
Owner Author

Is it possible to limit the results to birds? I am now getting false positives on wolves and frogs. Is it possible to use eBird filtering?

With the upcoming BirdNET v3, that would probably be a good feature to have.
I'm not sure what you mean by eBird filtering - could you elaborate?

Thanks for the screenshot - So just over 2G in use, Maybe the recommendation should read 2G free RAM.

@Svardsten53

Copy link
Copy Markdown

By eBird filtering I mean the function we can currently check for the regular model at the top of the first page for settings: Species range model V2.4 - V2
It would also be good to have a choice for whether you only want birds reported or if you also want other animals. However, maybe we should wait until BirdNET V3 is released and see what possibilities there are.

@dalogue1

Copy link
Copy Markdown

Are there additional changes needed to this PR or will it be rolled into the main branch soon?

@Nachtzuster

Copy link
Copy Markdown
Owner Author

Are there additional changes needed to this PR or will it be rolled into the main branch soon?

@dalogue1 see #506 we're still missing common name translations

@nnethery

Copy link
Copy Markdown

@Nachtzuster Check out #560 for the translations

@sdenton4

Copy link
Copy Markdown

@Nachtzuster - Hello! Is there anything we can do to help this land?
eg, we could split out the translations into a separate PR.

@dalogue1

dalogue1 commented Mar 18, 2026

Copy link
Copy Markdown

This branch works very well, and I have been running this since it was first proposed without issue.

I agree that possibly the translation might be able to be separated.

BTW The frogs and squirrels it identifies in addition to birds is fun!

@dalogue1

Copy link
Copy Markdown

Any updates on this PR?

@jc418gv

jc418gv commented May 16, 2026

Copy link
Copy Markdown

I also have an RPi5 with 4 GB RAM. I just added the new models per these instructions. Perch_v2 is running without issues or any config beyond selecting the model after setting up the install.

Detection confidence looks similar to me out of the gates so I'll just leave my settings alone for comparison sake. I am collecting audio with a RODE NTG-4 into a Focusrite-Novation Scarlett Solo (3rd Gen.). Processing time for 15 seconds of audio went from approx 0.4 seconds to 6.5 seconds with just the micro SD card. The Pi CPU will still idle at the same temp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants