I'd like to know if there is a boat detector implemented in PAMGUARD, or an additional plug in available, in order to detect boat sounds from an audio file?
5 Answers
This does not answer your specific question for PAMGuard, but there is a ship detector for Matlab-based program Triton. The detector runs on Long-term spectral averages, which can be created in Triton. I have not used it personally, but may be worth exploring.
You can find more information about the detector in the GitHub wiki here: https://github.com/MarineBioAcousticsRC/Triton/wiki/Ship-Detector
And you can download the latest version of Triton here: https://github.com/MarineBioAcousticsRC/Triton
-
1$\begingroup$ I use the Ship Detector remora in Triton and have found it to be very useful for quickly identifying instances of vessel noise in large acoustic datasets with a good degree of accuracy, depending on what metric you're going for and whats going on in the soundscape. It can reliably detect many different kinds of boat noise, and has an evaluator GUI for the analyst to scan through all the detections and identify any false positives. It is not perfect, and does occasionally miss occurrences of vessel noise. It also requires some trial and error to find the right parameters for your specific site. $\endgroup$– Bark95Commented Sep 22, 2022 at 19:18
-
$\begingroup$ @JackBarkowski that is excellent to know! $\endgroup$– seleneCommented Sep 28, 2022 at 14:25
Palmer is correct. There is not specific detector because boat sounds are mostly something we're trying to avoid. You could set up a simple energy or GPL detector which will get 'lumps' of sound that come above some threshold, but these will struggle for noises such as a vessel that increase slowly as the vessel approaches. This is because most PAMGuard detectors are constantly updating their background noise measurements and then picking out sounds xdB above that background. If the background creeps up slowly, then you'll not get a detection. So if you do want to try to use PAMGuard, make sure you configure a detector so that the time constant controlling the background measurement is long compared to how long a vessel takes to go by.
Sorry to disappoint but, to my knowledge, there is no boat detector available in Pamguard. As @WMXZ says, it's very variable and mostly what we are trying to avoid! I'd suggest doing a simple energy detector and look for changes in broadband or LF (>2khz) noise over 1 min or so. That would be a good place to start.
Rather than try to detect radiated engine / thruster noise from the vessels, could you focus on detecting echosounders? This is far easier to automate in PAMGuard - you could use the click detector module. Echosounders tend to be long pulses with narrowband frequency, so their detection suits the click classifier methods.
I am a little late to the game in this response but you can use the click detector in PAMGuard as a means of annotating periods of passing ships. It works quite well when viewing on the amplitude/time window of the click detector modules as there's a clear increase in the amplitude as the ship passes and you can use the LTSA window to confirm this. It would require a semi-automated approach - running the click detector, then annotating clicks associated with ship events in Viewer Mode.