Acoustic Signal Detection Script for a Single Board Computer (SBC)
Budget: $30 – $250 CAD
Looking for a software script to detect a specific acoustic signal (North Atlantic Right Whale upcall) from a live hydrophone recording. The hydrophone is connected to the Single Board Computer (i.e. Raspberry Pi) via a soundcard. The script needs to detect if a upcall was present, if so, when, and then control AT commands to a connected communication device.
I do have the hydrophone, preamp, soundcard, Raspberry Pi, and external communication device (for the AT commands) all hooked up and working but have struggled with the software creation. I have been unsuccessful in creating a script that works smoothly and accurately on an ARM based SBC (Raspberry Pi). I really am only comfortable in Python and have tried using a couple different methods. I've tried spectrogram matching to a base/known visual of what the upcall looks like but haven't found it to work well. I don't know much about frequencies and signals though. I also tried using a python package (Ketos) based on Tensorflow from Dalhousie University (https://docs.meridian.cs.dal.ca/ketos/). I was able to get it working on my windows Pc but found it to be quite inaccurate and slow though. As well, porting over Tensorflow and all the required dependencies of Ketos to the Arm based Pi proved to be prohibitive (despite the fact it would likely not run it efficiently at all).
In summary, I'm looking for a software developer to create a script (ideally in Python as I could tweak it to work with my AT commands) that can listen to an audio input for a right whale upcall, then, if detected, trigger commands to a connected AT device. Ideally, this script will be able to be run on a Raspberry Pi or ARM device but am open to your recommendations if that seems to be too limiting in processing power.
I've attached a sample file where you can hear the upcalls. Googling for North Atlantic right whale upcall will return many more files.
I do have the hydrophone, preamp, soundcard, Raspberry Pi, and external communication device (for the AT commands) all hooked up and working but have struggled with the software creation. I have been unsuccessful in creating a script that works smoothly and accurately on an ARM based SBC (Raspberry Pi). I really am only comfortable in Python and have tried using a couple different methods. I've tried spectrogram matching to a base/known visual of what the upcall looks like but haven't found it to work well. I don't know much about frequencies and signals though. I also tried using a python package (Ketos) based on Tensorflow from Dalhousie University (https://docs.meridian.cs.dal.ca/ketos/). I was able to get it working on my windows Pc but found it to be quite inaccurate and slow though. As well, porting over Tensorflow and all the required dependencies of Ketos to the Arm based Pi proved to be prohibitive (despite the fact it would likely not run it efficiently at all).
In summary, I'm looking for a software developer to create a script (ideally in Python as I could tweak it to work with my AT commands) that can listen to an audio input for a right whale upcall, then, if detected, trigger commands to a connected AT device. Ideally, this script will be able to be run on a Raspberry Pi or ARM device but am open to your recommendations if that seems to be too limiting in processing power.
I've attached a sample file where you can hear the upcalls. Googling for North Atlantic right whale upcall will return many more files.