Work / Research

pyceti-detector

A Python port of Project CETI's MATLAB Coda detector.

License
MIT
v0.1 target
2026-07-02
Methods paper
JOSS or MEE · autumn 2026
Source paper
CETI Coda-detector (MATLAB)
Lab
Cetacea Foundation
Framing
For the CETI ecosystem, not against it

Summary

A Python port of Project CETI's MATLAB Coda detector. Fresh implementation written from the published paper, with the MATLAB code serving as a cross-check. The v0.1 release ships click detection, vocalizer separation, coda grouping, and a CLI + programmatic Python API. The v0.2 release adds a pluggable post-detection feature stage. Embeddings via WhAM, AVES, Perch, animal2vec. And a downstream classification harness demonstrating end-to-end utility.

Why it matters

MATLAB licensing is a real barrier for conservation NGOs and field-station bioacoustics groups, most of which work in Python. The existing tool is operator-driven by design, which prevents batch processing, scheduling, and service deployment. All necessary for modern PAM workflows. And the cetacean acoustics community has produced several foundation models in the past two years; none of them is currently wired into a working coda detector with vocalizer separation. pyceti-detector becomes the integration layer.

What was noteworthy

The framing decision matters more than the code: MIT-licensed, fresh implementation from the paper rather than translation of the MATLAB source, attribution to the original authors prominent in README and methods paper, introduction to the CETI lab at the end of Stage 3 with the working artifact rather than at the start with a request. The bet is that the work earns its way in.

Next in ResearchCross-domain threads