New Zealand’s Cacophony Project employs RaspberryPis, Python, Node.js,PostgreSQL and more.


Most people think the occasional chirps of birds sound sweet, but one nonprofit wants to bring a riot of birdcall to backyards.

The Cacophony Project aims to bring the native bird noise back by keeping non-native predators away.

Founder Grant Ryan says it all started when the house he bought in Akaroa, New Zealand turned out to have some unexpected guests: a large population of rats and possums.

“So like every good Kiwi, I just went about doing a bit of trapping,” he says. “Over the next couple of years, I started noticing that the bird population went up and I thought, ‘man that’s kind of cool.’”

Not content to leave the problem at his own doorstep, he did some research.

“New Zealand’s the second worst place in the world for species loss,” Ryan adds. “It’s not because we don’t care, it’s that we were our own island for 70 million years and they never learned to adapt. It’s really quite embarrassing how bad it is.” Two of the main threats — rats and possums — were introduced to the island country relatively late and have devastated local bird populations.

Animating the Cacophony Project is a host of open-source software and hardware technology aimed at increasing trapping efficiency by up to 80,000 times.

It all started with the Cacophonometer, an Android application that wakes up at regular intervals, records audio and then uploads it to the Cacophony Project API server. That runs on a Node.js platform with a PostgreSQL database and uses Minio for object storage. (The test infrastructure is implemented in Python, you can take a look at the source code on GitHub.)

Then there’s the Cacophonator, an embedded platform kitted out with a thermal camera, speakers and sensors that lures, identifies and eliminates invasive predators built from a Raspberry Pi3 running on Go and Python code.

And, finally, an as yet unnamed machine learning component for classifying predators. It runs on a TensorFlow-based machine learning model trained by a classifier pipeline. It relies on data science tools including NumPy, SciPy, OpenCV and HDF5. (Even the Cacacphony Project cloud hosting is provided for free open source innovators Catalyst Cloud.)

Get involved

The Cacaphony Project is actively seeking contributors, whether experts with the open-source tech used in the project or people who are willing to learn them.  You can join the mailing list, check out the project’s GitHub (see the list of “good first issues” on where to jump in), or sync with the developers on Rocket Chat.


Catch Ryan’s full talk at the recent Boma New Zealand Agri Summit.

Photo // CC BY NC