Skip to main content

A Python library for applying information theory and AI/ML models to animal communication.

Project description

chatter: a Python library for applying information theory and AI/ML models to animal communication

Historically, analyses of sequential structure in animal communication have involved the identification of unit types (e.g. "syllables" in bird song and "notes" in whale song). This collapses continuous variation into discrete categories that align with human perception, a process that loses a great deal of the complexity and nuance present in the actual signals. Recent innovations in machine learning, such as variational autoencoders and vision transformers, allow us to bypass discretization and analyze animal communication signals directly in continuous space. chatter makes it easy for researchers to apply these methods to their data, to quantify features like:

  • Complexity—path length of sequences in latent space per unit time.
  • Predictability—predictability of a transition in latent space.
  • Similarity—cosine similarity between units or sequences in latent space.
  • Novelty—inverse of predicted density of units or sequences in latent space.

Additionally, chatter makes it easy to explore the latent space of a species' vocalizations, either statically or with an interactive plot like the one below (of syllables in Cassin's vireo song).

embeddings

This project is heavily inspired by the work of folks like Nilo Merino Recalde and Tim Sainburg. Here is a list of related projects:

Please cite chatter as:

@software{youngblood_chatter_2025,
   author = {Youngblood, Mason},
   title = {Chatter: a Python library for applying information theory and AI/ML models to animal communication},
   version = {v0.1.3},
   date = {2025},
   publisher = {GitHub},
   url = {https://github.com/masonyoungblood/chatter}
}

Installing chatter

chatter should always be installed inside a new virtual environment. To create an environment using conda you can run:

conda create -n chatter python==3.13.3

Then, you can activate the environment and install from GitHub using pip or uv:

conda activate chatter
pip install chatter-pkg
conda activate chatter
uv pip install chatter-pkg

Note that chatter uses torch as its machine learning backend, and was developed to use GPU acceleration on Apple Silicon. If you run into issues with compatibility, please look into the torch documentation before opening an issue on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatter_pkg-0.1.3.tar.gz (55.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatter_pkg-0.1.3-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

Details for the file chatter_pkg-0.1.3.tar.gz.

File metadata

  • Download URL: chatter_pkg-0.1.3.tar.gz
  • Upload date:
  • Size: 55.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chatter_pkg-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d22ed80c6f7dd78c553f2573144bfd66f7d5307edbac942f400fffcf0ff4a122
MD5 4d45c2b5b1c2c9e3c89d33ed6d9a71a7
BLAKE2b-256 5db50f7eb7560b2f240f18a3ef693e6b475c38c32b4b496ea5711a7a66a3a49c

See more details on using hashes here.

File details

Details for the file chatter_pkg-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: chatter_pkg-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 54.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chatter_pkg-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e5d16e6ab504e2e04f502c06483617c41e41e9e31506a3f779ae064447f84aef
MD5 1eb4f4a54c2d5bc1ed15a240ab2c1d1b
BLAKE2b-256 41dda0a97e925b50014bb496825cb2eea12da10eeae8ccc375cc0e790c3babbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page