Skip to main content

Python package for online and laboratory singing experiments

Reason this release was yanked:

Outdated repo

Project description

sing4me — Singing Experiments

Computational Auditory Perception Group
Max Planck Institute for Empirical Aesthetics

sing4me is a Python package for running singing experiments in laboratory and online settings. It installs two modules:

  1. sing4me: signal-processing code for singing extraction, plus the bundled Praat syllable_extract.praat script.
  2. sing_experiments: helpers for running singing experiments — methods to generate and transform melodies, prescreening tests, parameter presets, and questionnaires.

Quick Links

Installation

Prerequisites

  • Python 3.9 or newer (tested with 3.9–3.13)
  • macOS (primary testing platform)

Setting up a Virtual Environment

pip3 install virtualenv virtualenvwrapper

export WORKON_HOME=$HOME/.virtualenvs
mkdir -p $WORKON_HOME
export VIRTUALENVWRAPPER_PYTHON=$(which python3)
source $(which virtualenvwrapper.sh)

mkvirtualenv sing4me --python $(which python3)

The virtual environment is now active. To activate it later:

workon sing4me

Installing sing4me

To install the published package from PyPI:

pip install sing4me

To install from a source checkout in editable mode (this also installs the runtime dependencies declared in pyproject.toml):

git clone git@gitlab.com:computational-audition-lab/sing4me.git
cd sing4me
pip install -e .

Optional extras:

  • dev — pytest, flake8, black
  • notebook — jupyter, sounddevice, soundfile (needed for the demo notebooks)
  • psynet — pulls in PsyNet; only required if you import sing_experiments.questionnaire or sing_experiments.resources (the rest of sing_experiments and all of sing4me works without PsyNet)

Install an extra with, e.g.:

pip install -e ".[dev]"

Verify installation

sing4me --version

Tests

The unit tests live in sing_experiments/test/ and run with pytest:

pip install -e ".[dev]"
pytest -v

Note: the directory sing4me/tests/ in the source checkout contains a large collection of sample .wav / .png / .txt files used for manual / pilot inspection (not pytest tests). Those samples are kept in the repository for development but are not shipped with the PyPI distribution (they would exceed PyPI's per-file limits). To use them, work from a source checkout.

Running Demos

The demo notebooks in demos/ rely on the local input/ directory of sample audio. Like the manual test samples, those audio assets are not shipped with the PyPI distribution — clone the repository if you want to run the demos:

git clone git@gitlab.com:computational-audition-lab/sing4me.git
cd sing4me
pip install -e ".[notebook]"
jupyter notebook

Then open one of:

  • demos/iterated_singing_demo.ipynb
  • demos/debug_singing_extract.ipynb
  • demos/debug_singing_extract-with-singing.ipynb

License

MIT License

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

sing4me-1.4.0rc0.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

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

sing4me-1.4.0rc0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file sing4me-1.4.0rc0.tar.gz.

File metadata

  • Download URL: sing4me-1.4.0rc0.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for sing4me-1.4.0rc0.tar.gz
Algorithm Hash digest
SHA256 bce07d05436c812b166a4c5245d09d0c5365467554b0c082a830e2ed8a463951
MD5 42e5a668b75b6aa5059bb2d00f7f8cf5
BLAKE2b-256 281d325a0d70e7e921177c3f5fe5039733a557d07cf54d30d1aa68dcc78528cd

See more details on using hashes here.

File details

Details for the file sing4me-1.4.0rc0-py3-none-any.whl.

File metadata

  • Download URL: sing4me-1.4.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for sing4me-1.4.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 f469dfa045d8af4b4a5a5f24181309f8f05603a002b491a90bfe890f107fe573
MD5 f522d8ad0995b869f51376e156a79529
BLAKE2b-256 22f209e86872e4bb92f9983619a702bb1d6b3ba52b769b21128e6fc0cb6d43aa

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