Inspiration

Most biodiversity monitoring depends on cameras or people watching, and both are expensive and both miss stuff they cant actually see, like nocturnal animals or bugs hiding in cover. But almost every animal gives itself away through sound. We wanted to see if a small model trained on a normal laptop could pick up on that, basically turning a cheap mic into a monitoring tool.

What it does

EchoWild listens to an audio clip, either uploaded or recorded live, and tells you which species it thinks it is along with a confidence score and the actual spectrogram it used to decide. Every prediction gets logged during the session so you can see a running record of whats been detected.

How we built it

The audio gets turned into a mel spectrogram, which is basically an image of frequency over time, so the audio problem becomes an image problem. We took a ResNet18 model pretrained on ImageNet and fine tuned the last block plus a new classifier on top of that, since starting from a model that already knows how to read images gets you a lot more accuracy from a small dataset than training something from scratch would. We also used SpecAugment while training which randomly blanks out parts of the spectrogram so the model learns the actual call instead of memorizing background noise. It all runs locally through a Streamlit dashboard, no cloud calls at all.

Challenges we ran into

Building the whole pipeline in one night, audio processing, the dataset loader, the model, and the dashboard, and getting it all working end to end on a dataset we collected ourselves instead of some existing benchmark.

Accomplishments that we're proud of

Hitting almost 90 percent validation accuracy off a small self collected dataset, and actually having a working app at the end instead of just a notebook full of code.

What we learned

Going in we figured the hard part would be the model itself, but honestly the bigger lesson was how much small dataset size actually shapes every decision, from picking transfer learning over training from scratch, to using augmentation just to stop the model from overfitting on so few clips. We also learned a lot about the practical side of getting something running locally end to end, dealing with library versions, GPU setup, and all the small stuff that never shows up in a tutorial but eats real time when youre building something yourself.

What's next for echoWild

More species, more clips per species, and eventually moving from classifying single clips to detecting calls inside a long continuous recording, which is what would actually make this useful out in the field.

Built With

Share this project:

Updates

Submission history