I have an AudioMoth device set up outside that gives me audio recordings at certain times of day -- I've been using BirdNET to analyze the bird calls and see what I have in my backyard :) .
bird_sounds.py loads the WAV files from a folder on my desktop and runs BirdNET on them. Then it loads that into a dataframe and saves it while marking which files it's already gotten to so I don't have to run it over and over again when I add more files! There's also a summary CSV generated by the AudioMoth that lists the temperature and battery voltage for each file. This is combined with the bird entries too.
bird_sounds_viewer.py has a bird plot and a temperature plot. The bird plot currently shows the number of occurrences of a species at each hour of the day (total). The temperature plot shows the recorded temperature and the reported temperature of the area, with shading for rainy periods. This is useful to visualize temperature drops and volumes of bird detections!
Each audio file is split into 3 second files and only one species is detected per segment (so if there's overlap you may miss a bird). This also means that you can convert number of detections to time active (by multiplying by 3) and could probably use that with the total time recording to do some more analysis.
This code ideally will work infinitely with new files that are collected! The detection windows have been expanded to get more than just sunrise/sunset.
The bird chart. Only shows times with detections! Airplanes are birds.

The temperature graph. Pulls from historical Open-Meteo data and lat/long!
