<p align="center">
<img src="https://github.com/AntoineBellemare/biotuner/assets/49297774/fc83d888-db2a-4f9f-ba26-65a58c42b72d" alt="biotuner_logo" width="250"/>
</p>
<h1 align="center">Biotuner</h1>
<h3 align="center"> Python toolbox that incorporates tools from biological signal processing and musical theory to extract harmonic structures from biosignals. </h3>
<p align="center">
<a href="https://pypi.org/project/biotuner/">
<img alt="PyPI" src="https://img.shields.io/pypi/v/biotuner">
</a>
<a href="https://antoinebellemare.github.io/biotuner/">
<img alt="Documentation" src="https://img.shields.io/website?down_message=offline&up_message=online&url=https%3A%2F%2Fantoinebellemare.github.io%2Fbiotuner%2F">
</a>
<a href="https://github.com/AntoineBellemare/biotuner/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/AntoineBellemare/biotuner">
</a>
<a href="https://github.com/AntoineBellemare/biotuner/stargazers">
<img alt="GitHub stars" src="https://img.shields.io/github/stars/AntoineBellemare/biotuner?style=social">
</a>
<a href="https://pypi.org/project/biotuner/">
<img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/biotuner">
</a>
</p>
🧬🎵 Visit the [documentation page](https://antoinebellemare.github.io/biotuner/)
# Installation
## 1. Install using PyPI
```bash
pip install biotuner
```
## 2. Install using Github Repository:
### 2.1. **Create a Python environment with v3.8 using conda**:
```bash
conda create --name biotuner_env python=3.8
conda activate biotuner_env
```
### 2.2. Clone the Biotuner repository:
```
git clone https://github.com/AntoineBellemare/biotuner.git
cd biotuner
```
### 2.3. Install the package:
```
pip install -e .
```
# Simple use case
```python
biotuning = biotuner(sf = 1000) #initialize the object
biotuning.peaks_extraction(data, peaks_function='FOOOF') #extract spectral peaks
biotuning.compute_peaks_metrics() #get consonance metrics for spectral peaks
```

## Peaks extraction methods

Raw data
{
"_id": null,
"home_page": null,
"name": "biotuner",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11,>=3.6",
"maintainer_email": null,
"keywords": "biosignal, harmony, tuning, eeg, microtonality, music, time series",
"author": null,
"author_email": "Antoine Bellemare <antoine.bellemare9@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/e3/36/62b92f96af900be7477e19990fafb280bdef5ff3c380c7a753475a94bbfe/biotuner-0.0.14.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://github.com/AntoineBellemare/biotuner/assets/49297774/fc83d888-db2a-4f9f-ba26-65a58c42b72d\" alt=\"biotuner_logo\" width=\"250\"/>\n</p>\n\n<h1 align=\"center\">Biotuner</h1>\n<h3 align=\"center\"> Python toolbox that incorporates tools from biological signal processing and musical theory to extract harmonic structures from biosignals. </h3>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/biotuner/\">\n <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/biotuner\">\n </a>\n \n <a href=\"https://antoinebellemare.github.io/biotuner/\">\n <img alt=\"Documentation\" src=\"https://img.shields.io/website?down_message=offline&up_message=online&url=https%3A%2F%2Fantoinebellemare.github.io%2Fbiotuner%2F\">\n </a>\n \n <a href=\"https://github.com/AntoineBellemare/biotuner/blob/main/LICENSE\">\n <img alt=\"License\" src=\"https://img.shields.io/github/license/AntoineBellemare/biotuner\">\n </a>\n \n <a href=\"https://github.com/AntoineBellemare/biotuner/stargazers\">\n <img alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/AntoineBellemare/biotuner?style=social\">\n </a>\n\n <a href=\"https://pypi.org/project/biotuner/\">\n <img alt=\"Python Versions\" src=\"https://img.shields.io/pypi/pyversions/biotuner\">\n </a>\n</p>\n\n\ud83e\uddec\ud83c\udfb5 Visit the [documentation page](https://antoinebellemare.github.io/biotuner/)\n\n# Installation\n\n## 1. Install using PyPI\n\n```bash\npip install biotuner\n```\n\n## 2. Install using Github Repository:\n\n### 2.1. **Create a Python environment with v3.8 using conda**:\n```bash\nconda create --name biotuner_env python=3.8\nconda activate biotuner_env\n```\n\n### 2.2. Clone the Biotuner repository:\n```\ngit clone https://github.com/AntoineBellemare/biotuner.git\ncd biotuner\n```\n### 2.3. Install the package:\n```\npip install -e .\n```\n\n# Simple use case\n\n```python\nbiotuning = biotuner(sf = 1000) #initialize the object\nbiotuning.peaks_extraction(data, peaks_function='FOOOF') #extract spectral peaks\nbiotuning.compute_peaks_metrics() #get consonance metrics for spectral peaks\n\n```\n\n\n## Peaks extraction methods\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Time series harmonic analysis for adaptive tuning systems and microtonal exploration",
"version": "0.0.14",
"project_urls": {
"Homepage": "https://github.com/antoinebellemare/biotuner"
},
"split_keywords": [
"biosignal",
" harmony",
" tuning",
" eeg",
" microtonality",
" music",
" time series"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b5807d20dec056c95cd5feab442814b7d15795a1afd405307d0643af55368f00",
"md5": "cf2065a3270203557b55a727b93ffab9",
"sha256": "b208a56dd76cc39b7ee2fa4a1ef204bfb1da5cdd349786f6ebe5f4d03083e86c"
},
"downloads": -1,
"filename": "biotuner-0.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cf2065a3270203557b55a727b93ffab9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.11,>=3.6",
"size": 140522,
"upload_time": "2025-02-13T16:06:57",
"upload_time_iso_8601": "2025-02-13T16:06:57.457532Z",
"url": "https://files.pythonhosted.org/packages/b5/80/7d20dec056c95cd5feab442814b7d15795a1afd405307d0643af55368f00/biotuner-0.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e33662b92f96af900be7477e19990fafb280bdef5ff3c380c7a753475a94bbfe",
"md5": "d5e02b56751271178ff2df9633f22da3",
"sha256": "9e98bd9a988cba5f26dcb20219296f706e75ae59ad25c908cd8d2a5fb210caae"
},
"downloads": -1,
"filename": "biotuner-0.0.14.tar.gz",
"has_sig": false,
"md5_digest": "d5e02b56751271178ff2df9633f22da3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.11,>=3.6",
"size": 143338,
"upload_time": "2025-02-13T16:07:01",
"upload_time_iso_8601": "2025-02-13T16:07:01.359442Z",
"url": "https://files.pythonhosted.org/packages/e3/36/62b92f96af900be7477e19990fafb280bdef5ff3c380c7a753475a94bbfe/biotuner-0.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-13 16:07:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "antoinebellemare",
"github_project": "biotuner",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "matplotlib",
"specs": [
[
">=",
"3.5.3"
]
]
},
{
"name": "seaborn",
"specs": [
[
">=",
"0.12.1"
]
]
},
{
"name": "pygame",
"specs": [
[
">=",
"2.1.2"
]
]
},
{
"name": "mne",
"specs": [
[
">=",
"1.4.0"
]
]
},
{
"name": "pyACA",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "pactools",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "colorednoise",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "fooof",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "emd",
"specs": [
[
">=",
"0.5.5"
]
]
},
{
"name": "emd-signal",
"specs": [
[
">=",
"1.2.1"
]
]
},
{
"name": "pyts",
"specs": [
[
"==",
"0.12.0"
]
]
},
{
"name": "contfrac",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "neurokit2",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.7.3"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.21.4"
]
]
},
{
"name": "pingouin",
"specs": []
},
{
"name": "mido",
"specs": [
[
"==",
"1.2.10"
]
]
},
{
"name": "plotly",
"specs": [
[
"==",
"5.13.1"
]
]
},
{
"name": "ipywidgets",
"specs": [
[
"==",
"8.0.4"
]
]
},
{
"name": "PyWavelets",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "neurodsp",
"specs": [
[
">=",
"2.2"
]
]
},
{
"name": "sympy",
"specs": [
[
"==",
"1.12"
]
]
},
{
"name": "pytest",
"specs": [
[
">=",
"7.0.0"
]
]
}
],
"lcname": "biotuner"
}