thebeat


Namethebeat JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryPython package for working with rhythms and other temporal sequences in science
upload_time2023-12-22 22:25:20
maintainer
docs_urlNone
author
requires_python>=3.8
licenseGNU General Public License v3 or later (GPLv3+)
keywords music rhythm timing cognitive science
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://img.shields.io/pypi/v/thebeat.svg)](https://pypi.python.org/pypi/thebeat)
[![PyPI Python versions](https://img.shields.io/pypi/pyversions/thebeat.svg)](https://pypi.python.org/pypi/thebeat)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Jellevanderwerff/thebeat/main.svg)](https://results.pre-commit.ci/latest/github/Jellevanderwerff/thebeat/main)
[![GitHub CI status](https://github.com/jellevanderwerff/thebeat/actions/workflows/ci.yml/badge.svg)](https://github.com/Jellevanderwerff/thebeat)
[![License](https://img.shields.io/pypi/l/praat-parselmouth.svg)](https://github.com/YannickJadoul/Parselmouth/blob/master/LICENSE)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Jellevanderwerff/thebeat/main?labpath=docs%2Fsource%2Fexamples%2FREADME.md)


<picture align='center'>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo_dark.png">
  <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo.png">
  <img alt="thebeat logo" src="https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo.png", width=350>
</picture>


# *thebeat*: Rhythms in Python for Science

*thebeat* is a Python package for working with temporal sequences and rhythms in the behavioural and cognitive sciences. It provides functionality for creating stimuli, and for visualizing and analyzing temporal data.

As a collection of accepted methods for use in music and timing research,
*thebeat* will save you time when creating experiments or analyzing data.

*thebeat* is an open-source, on-going, and collaborative project,
integrating easily with the existing Python ecosystem, and with your own scripts.
The package was specifically designed to be useful for both skilled and novice programmers.

# Documentation
The package documentation is available from
[https://thebeat.readthedocs.io](https://thebeat.readthedocs.io). The documentation contains
detailed descriptions of all package functionality, as well as a large number of (copyable)
examples.

# Installation
*thebeat* is available through PyPI, and can be installed using:

```bash
pip install thebeat
```

Note that if you want to use *thebeat*'s functionality for plotting musical notation,
you have to install it using:

```bash
pip install 'thebeat[music_notation]'
```

This will install *thebeat* with the optional dependencies [abjad](https://abjad.github.io)
and [Lilypond](https://lilypond.org).

*thebeat* is actively tested on Linux, macOS, and Windows. We aim to provide support for all
[supported versions](https://devguide.python.org/versions/) of Python (3.8 and higher).

# Try directly via Binder
If you first would like to try *thebeat*, or of you wish to use it in, for instance, an
educational setting, you can use
[this link](https://mybinder.org/v2/gh/Jellevanderwerff/thebeat/stable?labpath=docs%2Fsource%2Fgettingstarted.ipynb)
to try *thebeat* in a Binder environment.


# Getting started
The code below illustrates how we might create a simple trial for use in an experiment:

```python
from thebeat import Sequence, SoundStimulus, SoundSequence

seq = Sequence.generate_isochronous(n_events=10, ioi=500)
sound = SoundStimulus.generate(freq=440, duration_ms=50, onramp_ms=10, offramp_ms=10)
trial = SoundSequence(sound, seq)

trial.play()  # play sound over loudspeakers
trial.plot_waveform()  # plot as sound waveform
trial.plot_sequence()  # plot as an event plot
trial.write_wav('example_trial.wav')  # save file to disk
```

# Open discussion
One of the reasons for creating *thebeat* was the lack of a collection of standardized/accepted
methods for use in rhythm and timing research. Therefore, an important part of *thebeat*'s merit
lies in opening discussions about the methods that are included. As an example, there are different
ways of calculating phase differences and integer ratios, and we imagine people to have different
opinions about which method to use. Where possible, we have included
references to the literature in the package documentation. But, we encourage anyone with an opinion
to openly question the methods that *thebeat* provides.

There are two places where you can go with comments and/or questions:

- You can click the 'Issues' tab at the top of this GitHub page, and start a thread. Note that
this place is mostly for questioning methods, or for reporting bugs.
- You can drop by in our [Gitter chatroom](https://app.gitter.im/#/room/#thebeat:gitter.im). This is likely
the best place to go to with questions about how *thebeat* works.

# License
*thebeat* is distributed under the GPL-3 license. You are free to distribute or modify the code, both for non-commercial and commercial use. See [here](https://choosealicense.com/licenses/gpl-3.0/) for more info.

# Collaborators
The package was developed by the Comparative Bioacoustics Group at the Max Planck Institute for
Psycholinguistics, in Nijmegen, the Netherlands.

The collaborators were: Jelle van der Werff, Andrea Ravignani, and Yannick Jadoul.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "thebeat",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "music,rhythm,timing,cognitive science",
    "author": "",
    "author_email": "Jelle van der Werff <jellevanderwerff@gmail.com>, Yannick Jadoul <yannick.jadoul@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/cf/c6/ee777b43a2b2b5eca46b34ee7845b9faad6df9fffb7b7438b14e84488e50/thebeat-0.2.0.tar.gz",
    "platform": null,
    "description": "[![PyPI version](https://img.shields.io/pypi/v/thebeat.svg)](https://pypi.python.org/pypi/thebeat)\n[![PyPI Python versions](https://img.shields.io/pypi/pyversions/thebeat.svg)](https://pypi.python.org/pypi/thebeat)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Jellevanderwerff/thebeat/main.svg)](https://results.pre-commit.ci/latest/github/Jellevanderwerff/thebeat/main)\n[![GitHub CI status](https://github.com/jellevanderwerff/thebeat/actions/workflows/ci.yml/badge.svg)](https://github.com/Jellevanderwerff/thebeat)\n[![License](https://img.shields.io/pypi/l/praat-parselmouth.svg)](https://github.com/YannickJadoul/Parselmouth/blob/master/LICENSE)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Jellevanderwerff/thebeat/main?labpath=docs%2Fsource%2Fexamples%2FREADME.md)\n\n\n<picture align='center'>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo_dark.png\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo.png\">\n  <img alt=\"thebeat logo\" src=\"https://raw.githubusercontent.com/Jellevanderwerff/thebeat/main/docs/source/_static/thebeat_logo.png\", width=350>\n</picture>\n\n\n# *thebeat*: Rhythms in Python for Science\n\n*thebeat* is a Python package for working with temporal sequences and rhythms in the behavioural and cognitive sciences. It provides functionality for creating stimuli, and for visualizing and analyzing temporal data.\n\nAs a collection of accepted methods for use in music and timing research,\n*thebeat* will save you time when creating experiments or analyzing data.\n\n*thebeat* is an open-source, on-going, and collaborative project,\nintegrating easily with the existing Python ecosystem, and with your own scripts.\nThe package was specifically designed to be useful for both skilled and novice programmers.\n\n# Documentation\nThe package documentation is available from\n[https://thebeat.readthedocs.io](https://thebeat.readthedocs.io). The documentation contains\ndetailed descriptions of all package functionality, as well as a large number of (copyable)\nexamples.\n\n# Installation\n*thebeat* is available through PyPI, and can be installed using:\n\n```bash\npip install thebeat\n```\n\nNote that if you want to use *thebeat*'s functionality for plotting musical notation,\nyou have to install it using:\n\n```bash\npip install 'thebeat[music_notation]'\n```\n\nThis will install *thebeat* with the optional dependencies [abjad](https://abjad.github.io)\nand [Lilypond](https://lilypond.org).\n\n*thebeat* is actively tested on Linux, macOS, and Windows. We aim to provide support for all\n[supported versions](https://devguide.python.org/versions/) of Python (3.8 and higher).\n\n# Try directly via Binder\nIf you first would like to try *thebeat*, or of you wish to use it in, for instance, an\neducational setting, you can use\n[this link](https://mybinder.org/v2/gh/Jellevanderwerff/thebeat/stable?labpath=docs%2Fsource%2Fgettingstarted.ipynb)\nto try *thebeat* in a Binder environment.\n\n\n# Getting started\nThe code below illustrates how we might create a simple trial for use in an experiment:\n\n```python\nfrom thebeat import Sequence, SoundStimulus, SoundSequence\n\nseq = Sequence.generate_isochronous(n_events=10, ioi=500)\nsound = SoundStimulus.generate(freq=440, duration_ms=50, onramp_ms=10, offramp_ms=10)\ntrial = SoundSequence(sound, seq)\n\ntrial.play()  # play sound over loudspeakers\ntrial.plot_waveform()  # plot as sound waveform\ntrial.plot_sequence()  # plot as an event plot\ntrial.write_wav('example_trial.wav')  # save file to disk\n```\n\n# Open discussion\nOne of the reasons for creating *thebeat* was the lack of a collection of standardized/accepted\nmethods for use in rhythm and timing research. Therefore, an important part of *thebeat*'s merit\nlies in opening discussions about the methods that are included. As an example, there are different\nways of calculating phase differences and integer ratios, and we imagine people to have different\nopinions about which method to use. Where possible, we have included\nreferences to the literature in the package documentation. But, we encourage anyone with an opinion\nto openly question the methods that *thebeat* provides.\n\nThere are two places where you can go with comments and/or questions:\n\n- You can click the 'Issues' tab at the top of this GitHub page, and start a thread. Note that\nthis place is mostly for questioning methods, or for reporting bugs.\n- You can drop by in our [Gitter chatroom](https://app.gitter.im/#/room/#thebeat:gitter.im). This is likely\nthe best place to go to with questions about how *thebeat* works.\n\n# License\n*thebeat* is distributed under the GPL-3 license. You are free to distribute or modify the code, both for non-commercial and commercial use. See [here](https://choosealicense.com/licenses/gpl-3.0/) for more info.\n\n# Collaborators\nThe package was developed by the Comparative Bioacoustics Group at the Max Planck Institute for\nPsycholinguistics, in Nijmegen, the Netherlands.\n\nThe collaborators were: Jelle van der Werff, Andrea Ravignani, and Yannick Jadoul.\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 or later (GPLv3+)",
    "summary": "Python package for working with rhythms and other temporal sequences in science",
    "version": "0.2.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/Jellevanderwerff/thebeat/issues",
        "Changelog": "https://github.com/Jellevanderwerff/thebeat/releases",
        "Documentation": "https://thebeat.readthedocs.io/",
        "Homepage": "https://thebeat.readthedocs.io/",
        "Source Code": "https://github.com/Jellevanderwerff/thebeat"
    },
    "split_keywords": [
        "music",
        "rhythm",
        "timing",
        "cognitive science"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3370ec92cbc27b951ce01e0c9d66e75f6632f6b6eb4419111e4df3e1e236e0c4",
                "md5": "10e2272dec959c2512a946f527c3942a",
                "sha256": "dddc32858ab6995c1098b6fd5600f427650c97206e5f0127bdbc3129edcf2b4a"
            },
            "downloads": -1,
            "filename": "thebeat-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "10e2272dec959c2512a946f527c3942a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 118399,
            "upload_time": "2023-12-22T22:25:14",
            "upload_time_iso_8601": "2023-12-22T22:25:14.325889Z",
            "url": "https://files.pythonhosted.org/packages/33/70/ec92cbc27b951ce01e0c9d66e75f6632f6b6eb4419111e4df3e1e236e0c4/thebeat-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfc6ee777b43a2b2b5eca46b34ee7845b9faad6df9fffb7b7438b14e84488e50",
                "md5": "6c88d214282b99143762623e8e631d9f",
                "sha256": "53b8f34bb6d07e85983a9b1df097203968d060a0fe21540afd164a01bd2dc4f1"
            },
            "downloads": -1,
            "filename": "thebeat-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6c88d214282b99143762623e8e631d9f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10013585,
            "upload_time": "2023-12-22T22:25:20",
            "upload_time_iso_8601": "2023-12-22T22:25:20.862401Z",
            "url": "https://files.pythonhosted.org/packages/cf/c6/ee777b43a2b2b5eca46b34ee7845b9faad6df9fffb7b7438b14e84488e50/thebeat-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 22:25:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Jellevanderwerff",
    "github_project": "thebeat",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "thebeat"
}
        
Elapsed time: 0.15917s