I've been using birdnet, but it seems to want an internet connection to do the identification and sometimes that is dicey when there is a bird that I want to identify. (Also birds seem to shut up around the time you get the app open.)
I'm going to give Merlin a try - the app has UI to download the network for offline use.
birdnet pi or go run the model locally with an option to push observations back to Cornell
Requiring an internet connection for a nature app is absurd. As annoying as it is I get why a big tech company like Google fails at this sort of thing, many of their employees probably never leave a city and so the products always work well for them. But a nature app has no excuse, normal usage will get blocked by that all the time.