Perch 2.0 in ONNX format, for Apus

This repository holds an unchanged copy of perch_v2.onnx. It is an ONNX conversion of Google's Perch 2.0 bird-vocalisation classifier (Kaggle: google/bird-vocalization-classifier), made by Justin Chu (justinchuby/Perch-onnx, commit da88bf8c37c0b3068fc706fe509f633b9fbd28c1). The two class lists come from the Kaggle model's assets/.

The copy exists so that Apus, a browser interface for Perch 2.0, always downloads the same bytes. Apus checks them against the checksums below.

Files

File SHA-256 What it is
perch_v2.onnx bf0c8467a924cb074663970ca4a0ab1e143602121930209657d0dff5d5cefa1f The model (float32, 409,148,616 bytes)
labels.csv e4d5c0397d8fb08bf90c6b13a34810af53504faad927e472fcc567793c9de057 The 14,795 class names, in output order, after a header line
perch_v2_ebird_classes.csv 861aef71b679d8dcf07c0c71375188c46b680bd808c61a539f254dc21319bcc9 The eBird 2021 code of each class, in the same order (no_ebird_code where there is none)

Input and output

  • Input inputs: float32 [batch, 160000]. Each row is 5 s of mono audio at 32 kHz. To reproduce perch-hoplite, Google's Perch library:
    • resample with a polyphase filter;
    • then, in each window, remove the mean and scale the peak to 0.25.
  • Outputs:
    • label [batch, 14795]: logits, to be turned into probabilities with a softmax;
    • embedding [batch, 1536];
    • spatial_embedding [batch, 16, 4, 1536];
    • spectrogram [batch, 500, 128].

Verification

We compared this file (ONNX Runtime 1.31, CPU) with Google's TensorFlow model (perch_v2_cpu, TensorFlow 2.21), on the same inputs. The test used 349 windows from 11 real recordings at 16–192 kHz, mono and stereo.

  • Probabilities: max |Δ| 7.1e-6.
  • Detections at probability ≥ 0.10: identical (176 of 176).
  • Top-10 classes: identical in every window.

Licence and attribution

  • Perch 2.0 © Google, released under the Apache License 2.0. Cite: van Merriënboer et al. (2025), Perch 2.0: The Bittern Lesson for Bioacoustics, arXiv:2508.04665.
  • ONNX conversion by Justin Chu, under the Apache License 2.0.
  • These files are redistributed unchanged under the same licence (see LICENSE).

This repository is not affiliated with Google. "Perch" is Google's name for the model.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for Calotriton/perch-v2-onnx