wavesongs

Python packing of the physical model motor gestures to characterize and create birdsongs

https://github.com/wavesongs/wavesongs

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Python packing of the physical model motor gestures to characterize and create birdsongs

Basic Info
  • Host: GitHub
  • Owner: wavesongs
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://wavesongs.github.io/
  • Size: 92.1 MB
Statistics
  • Stars: 9
  • Watchers: 0
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

WaveSongs logo

WaveSongs

A Python package for birdsong synthesis and bioacoustic analysis

![version](https://img.shields.io/badge/Version-0.0.4b1-darkgreen.svg) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Made with Python](https://img.shields.io/badge/Python->=3.10-blue?logo=python&logoColor=white)](https://python.org "Go to Python homepage") ![Open Source](https://badges.frapsoft.com/os/v2/open-source.svg?v=103) [![Documentation](https://readthedocs.org/projects/ansicolortags/badge/?version=latest)](https://wavesongs.github.io/wavesongs/) [Installation](#️-installation) • [Quick Start](#-gettint-started) • [Contribute](#-contribute) • [References](#-references)

WaveSongs implements the motor gestures model for birdsong developed by Gabo Mindlin to generate synthetic birdsongs through numerical optimization [1, 2] . By leveraging fundamental frequency (FF) and spectral content index (SCI) as key parameters, the package solves a minimization problem using SciPy and performs audio analysis with librosa and scikit-maad.

Validated against field recordings of Zonotrichia Capensis, Ocellated Tapaculo, and Mimus Gilvus, the model achieves <5% relative error in FF reconstruction compared to empirical data.

⚒️ Installation

Prerequisites

Steps

  1. Clone the repository: bash git clone https://github.com/wavesongs/wavesongs cd wavesongs

  2. Set up a virtual environment (choose one method):

#### Using venv bash python -m venv venv

#### Using Conda bash conda create -n wavesongs python=3.12 conda activate wavesongs

  1. Install dependencies: bash pip install -r requirements.txt

  2. Install WaveSongs in editable mode: bash pip install -e .

🚀 Gettint Started

Explore the Tutorial 1 Notebook to generate synthetic birdsongs and explore the model plots.

For advanced usage (e.g., custom gestures, parameter tuning, data measures, etc), check the other tutorials: Spectrum Measures or Synthetic Songs. More details can be found in the Documentation.

🎶 Data Integration

Pre-processed field recordings from Xeno Canto and eBird are included in ./assets/audio. To use custom recordings place .wav or .mp3 files in ./assets/audio/ or define the audios path with the ProjDirs class.

🔐 License

WaveSongs is licensed under the GNU General Public License v3.0.

📒 Citation

If this work contributes to your research, please cite:

bibtex @software{aguilera_wavesongs_2025, author = {Aguilera Novoa, Sebastián}, title = {WaveSongs: Computational Birdsong Synthesis}, year = {2025}, publisher = {GitHub}, journal = {GitHub Repository}, url = {https://github.com/wavesongs/wavesongs} }

🌱 Contribute

We welcome contributions! See our roadmap:

  • [ ] Integrate Xeno Canto API for direct dataset downloads.
  • [ ] Add ROIs analysis using scikit-maad. This will allo automatic syllables detection and gerenration.
  • [ ] Improve FF parametrization for small motor gestures, chunks.

To report issues or suggest features, open a GitHub Issue.

📚 References

[1] Mindlin, G. B., & Laje, R. (2005). The Physics of Birdsong. Springer. DOI

[2] Amador, A., et al. (2013). Elemental gesture dynamics in song premotor neurons. Nature. DOI

Owner

  • Name: wavesongs
  • Login: wavesongs
  • Kind: organization
  • Email: saguileran@unal.edu.co

GitHub Events

Total
  • Watch event: 3
  • Delete event: 1
  • Push event: 47
  • Fork event: 1
  • Create event: 1
Last Year
  • Watch event: 3
  • Delete event: 1
  • Push event: 47
  • Fork event: 1
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 18 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
  • Total maintainers: 1
pypi.org: wavesongs

A python package for birdsongs creation and data extraction.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 18 Last month
Rankings
Dependent packages count: 9.7%
Forks count: 31.8%
Average: 32.6%
Stargazers count: 34.4%
Dependent repos count: 54.4%
Maintainers (1)
Last synced: 10 months ago