Skip to content

Detect brief communication signals of weakly electric fish in the frequency domain

Notifications You must be signed in to change notification settings

weygoldt/chirpdetector

Repository files navigation

Chirpdetector

Detect communication signals of electric fish using deep neural networks 🐟⚡🧠

Explore the docs »

View Demo | Report Bug | Request Feature

Codecov

This project is still work in progress and will approximately be released in summer of 2024.


The Problem

Chirps are by far the most thoroughly studied communication signal of weakly electric, probably even all fish. But detecting chirps becomes so hard when more than one fish is recorded. As a result, most of the research to date analyzes this signal in isolated individuals. This is not good.

The Solution

To tackle this issue, this package provides a simple tool to detect chirps of multiple fish. To do so, it uses GPU-accelerated spectrogram computation and deep neural networks to detect chirps in spectrograms. The package is designed to be easy to use and to be integrated into existing data analysis pipelines. Have fun detecting chirps!

How it Works

The following flowchart illustrates the basic workflow of the pipeline. It consists of two main steps:

  1. Chirp detection: The raw audio data is transformed into a spectrogram and then fed into a deep neural network to detect chirps.
  2. Chirp assignment: Based on power spectral densities of the frequency components of a single chirp, the detected chirps are assigned to individual fish.

Flowchart

About

Detect brief communication signals of weakly electric fish in the frequency domain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published