Use Sound to Identify Birds Species with a Raspberry Pi - BirdNET-Pi

We’ve spent today trying to sort out the Lorikeet species Birdnet identified. Here on the Murray near Echuca, the trees are dominated by Musk Lorikeet which we sight. Birdnet identifies those in plenty and the occasional Little Lorikeet and Scaly-breasted Lorrikeet. The sonographs look okay compared with ebird but we aren’t sure. They really require a sighting.

Birdnet has given us several false id’s arising from human speech or noise: Brushturkey, Tawny Frogmouth, Powerful Owl, Tasmanian Nativehen, Pied Stilt, Pacific Black Duck and Bush Thick-knee. So, I think anything surprising needs to be carefully validated.

Do you do anything to screen out human voice or machinery noises?


No, I haven’t done anything to screen out noise. We are in a very quiet location, but I’ve yet to see what happens when the Golf Club mows the fairway!


Taking a look at the species list there appears to be an entry for human:human
I wonder if the tensorflow lite model has been trained with human samples so they are less likely to be spuriously classified as birds.

In any case, the only real filtering that can be done is within the model. Perhaps in the future there will be an updated model.


Hi All,
I tried this today on a 3B+ without luck :frowning:
I tried x64 Full & Lite, but ended up with “says installation completed successfully”. Strange that this means it failed???
The webpage is blank. Even on the Pi :frowning:
I can see “Icecast2 Status”, but don’t know the admin login creds.
I don’t have a mic here to connect. Maybe that’s the issue?

In “birdnet.conf”, check out “PRIVACY_MODE”.

I had difficulty connecting to the BirdNet-Pi main page. The instructions are misleading. They say to point your browser to http://birdnetpi.local. That only works if your Pi hostname is birdnetpi. In my case, my hostname is pi4b2, so I have to connect to http://pi4b2.local or just http://pi4b2

If you do ps -ef from command line, you should see a few BirdNETPi processes running. The web server that you need to connect to is the process:

/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

That also shows you where the configuration file is.

1 Like

Sweet! I need “http://birdpi.local/”. “http://birdpi” just gives me “the blank webpage”.
BTW, I was trying to nagigate to my Pi’s IP address, which still doesnt work :confused:

My Caddyfile is:

http://localhost http://BirdPi.local  {
  root * /home/pi/BirdSongs/Extracted
  file_server browse
  handle /By_Date/* {
    file_server browse
  handle /Charts/* {
    file_server browse
  reverse_proxy /stream localhost:8000
  php_fastcgi unix//run/php/php7.4-fpm.sock
  reverse_proxy /log* localhost:8080
  reverse_proxy /stats* localhost:8501
  reverse_proxy /terminal* localhost:8888

As mentioned, :8000 gives me the Icecast2 Status page, via, http://birdpi:8000 or http://birdpi.local:8000/
Ports 8080, 8501 & 8888 (via IP, birdpi or birdpi.local) give ERR_CONNECTION_REFUSED.

Not sure, but I think I read in the Caddy documentation that you need to add the IP address to the first line of the Caddyfile:

http://localhost http://BirdPi.local {

1 Like

Thanks :+1:

1 Like

Hi Tim,

Thanks for preparing the tutorial for BirdNET-Pi. This is fantastic for some education work I’m doing in the local community in relation to Noisy Minors.
I had an issue with updates failing.
See my posts on the BirdNET-Pi git.
Files on microSD card not being deleted · Discussion #385 · mcguirepr89/BirdNET-Pi · GitHub
I’m still waiting to see if this fix works - but had to use the curl link provided on the BirdNET-Pi git site before updates worked.
Really appreciate the time and effort into promoting BirdNET-Pi.


Heyya mate,

If you want a guaranteed stable version, that will work exactly as promised in the video use the terminal command outlined in the video.

If you want to be a the forefront of new patches and features then definitely jump to the Bird-Net Pi GitHub to get the most recent release. Just understand that being at the forefront means you may run into some teething issues. Hope that helps and explains.

Kind regards,

1 Like

Thanks Tim, Still learning.


After loading all Birdnet data to raspberry pi400 then opening log in birdnetpi.local there is a message repeated at every search “directory and file do not exist”. I have reloaded data several times with the same result, any advice on what I might be doing wrong.

1 Like

Followon to my earlier post, I eventually got everything loaded and working, The problem was at the Pi400 set up, after connecting to Wifi there was an option to search and load system software upgrades which I had been accepting (bad move) I skipped the upgrade and all is well,


I am having trouble starting BirdNet-Pi. I have installed the files for BirdNet-Pi and gone to the website. I made an account.
Now I can’t see how to get the program running. How do I start it please. Any help will be good thanks.

If I already have a webserver installed can I still install this to my pi? is there anything I can do that will help save my existing website? I’d like to try and add the bird recorder to my live streaming audio server too. I use a dummy hed microphone that streams 24/7 to a few audio servers, the dummy hed streams binaural 3D audio and I think it would be a great addition to my raspberry pi’s website. I’ve just got binaural recordings on my website at Any help would be welcomed

1 Like

Hey Alan,

Very cool being able to jump onto your Raspberry Pi Hosted Website from where I am :slight_smile: . Running and Hosting multiple websites on the same web server is definitely possible using a Raspberry Pi. You will need to utilise Virtual Hosts. Linked here is a VirtualHost example with Apache.

All the codes here are open source so you could also combine features from BirdNet-Pi website into your website. Keep in mind I’d recommend using a Raspberry Pi 4 Model B to run multiple web servers in that manner as that in combination with running BirdNet-Pi could be pushing the hardware up to the redline.

Hopefully this helps,

1 Like

Hi Tim,

Thank you for the info, I’ve just tried setting up virtual hosts, Ive two domains I use so used them… and … I added them both to the config but once reloaded i end up at my router page, or else in chrome i get webserver refused. So ive put the settings back and I’m still working thank goodness! ha!

I may get another raspberry pi and setup another binaural mic to go with it in the garden too.

Thnks for your help