Identifying birdsong syllables without labelled data

Mélisande Teng, Julien Boussard, David Rolnick, Hugo Larochelle
9/22/2025
cs.SDcs.LGeess.AS

No confident code implementation found for this paper. 2 possible matches can be shown below.

Abstract

Identifying sequences of syllables within birdsongs is key to tackling a wide array of challenges, including bird individual identification and better understanding of animal communication and sensory-motor learning. Recently, machine learning approaches have demonstrated great potential to alleviate the need for experts to label long audio recordings by hand. However, they still typically rely on the availability of labelled data for model training, restricting applicability to a few species and datasets. In this work, we build the first fully unsupervised algorithm to decompose birdsong recordings into sequences of syllables. We first detect syllable events, then cluster them to extract templates -- syllable representations -- before performing matching pursuit to decompose the recording as a sequence of syllables. We evaluate our automatic annotations against human labels on a dataset of Bengalese finch songs and find that our unsupervised method achieves high performance. We also demonstrate that our approach can distinguish individual birds within a species through their unique vocal signatures, for both Bengalese finches and another species, the great tit.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 2 weaker matches are hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{teng2025identifying,
  title  = {Identifying birdsong syllables without labelled data},
  author = {Mélisande Teng and Julien Boussard and David Rolnick and Hugo Larochelle},
  year   = {2025},
  eprint = {2509.18412},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.18412v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.18412.svg)](https://codeofpaper.com/paper/2509.18412)

Discussion