Metadata-Version: 2.3
Name: senselab
Version: 0.28.1
Summary: Senselab is a Python package that simplifies building pipelines for speech and voice analysis.
License: Apache-2.0
Keywords: voice,speech,audio
Author: Fabio Catania
Author-email: fabiocat@mit.edu
Maintainer: Fabio Catania
Maintainer-email: fabiocat@mit.edu
Requires-Python: >=3.10,<3.13
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: accelerate
Requires-Dist: audiomentations (>=0.35,<1.0)
Requires-Dist: datasets (>=3,<3.1)
Requires-Dist: huggingface-hub (>=0.23,<1.0)
Requires-Dist: iso639 (>=0.1,<1.0)
Requires-Dist: jiwer (>=3.0,<4.0)
Requires-Dist: mediapipe (>=0.10,<1.0)
Requires-Dist: nest-asyncio (>=1.5,<2.0)
Requires-Dist: nltk (>=3.9,<4.0)
Requires-Dist: numpy (>=1.26,<2.0)
Requires-Dist: opencv-python (>=4.10,<5.0)
Requires-Dist: opensmile (>=2.5,<3.0)
Requires-Dist: praat-parselmouth (>=0.4,<1.0)
Requires-Dist: pyannote-audio (>=3.3,<4.0)
Requires-Dist: pyav (>=14.0,<15.0)
Requires-Dist: pycountry (>=24.6,<25.0)
Requires-Dist: pydantic (>=2.7,<3.0)
Requires-Dist: pydra (>=0.25,<1.0)
Requires-Dist: pylangacq (>=0.19,<1.0)
Requires-Dist: rouge-score (>=0.1,<1.0)
Requires-Dist: scikit-learn (>=1.5,<2.0)
Requires-Dist: sentence-transformers (>=3.1,<4.0)
Requires-Dist: speechbrain (>=1,<1.1)
Requires-Dist: torch (>=2.5,<2.6)
Requires-Dist: torch-audiomentations (>=0.11,<1.0)
Requires-Dist: torchaudio (>=2.5,<3.0)
Requires-Dist: torchvision (>=0.20,<1.0)
Requires-Dist: transformers (>=4.47,<5.0)
Requires-Dist: types-requests (>=2.32,<3.0)
Requires-Dist: ultralytics (>=8.3,<9.0)
Requires-Dist: umap-learn (>=0.5,<1.0)
Requires-Dist: vocos (>=0.1,<1.0)
Project-URL: Documentation, https://sensein.github.io/senselab
Project-URL: Homepage, https://github.com/sensein/senselab
Project-URL: Repository, https://github.com/sensein/senselab
Description-Content-Type: text/markdown

[![Build](https://github.com/sensein/senselab/actions/workflows/main-branch-status.yaml/badge.svg)](https://github.com/sensein/senselab/actions/workflows/main-branch-status.yaml)
[![codecov](https://codecov.io/gh/sensein/senselab/graph/badge.svg?token=9S8WY128PO)](https://codecov.io/gh/sensein/senselab)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

[![PyPI](https://img.shields.io/pypi/v/senselab.svg)](https://pypi.org/project/senselab/)
[![Python Version](https://img.shields.io/pypi/pyversions/senselab)](https://pypi.org/project/senselab)
[![License](https://img.shields.io/pypi/l/senselab)](https://opensource.org/licenses/Apache-2.0)

[![pages](https://img.shields.io/badge/api-docs-blue)](https://sensein.github.io/senselab)

Welcome to ```senselab```! This is a Python package for streamlining the processing and analysis of behavioral data, such as voice and speech patterns, with robust and reproducible methodologies.

**Caution:**: this package is still under development and may change rapidly over the next few weeks.

## Installation
Install this package via:

```sh
pip install senselab
```

Or get the newest development version via:

```sh
pip install git+https://github.com/sensein/senselab.git
```

## Quick start
```Python
from senselab.audio.data_structures import Audio
from senselab.audio.tasks.preprocessing import resample_audios

audio1 = Audio.from_filepath('path_to_audio_file.wav')

print("The original audio has a sampling rate of {} Hz.".format(audio1.sampling_rate))
[audio1] = resample_audios([audio1], resample_rate=16000)
print("The resampled audio has a sampling rate of {} Hz.".format(audio1.sampling_rate))
```

For more detailed information, check out our [**Getting Started Tutorial**](https://github.com/sensein/senselab/blob/main/tutorials/audio/getting_started.ipynb).


## Why should I use senselab?
- **Modular Design**: Easily integrate or use standalone transformations for flexible data manipulation.
- **Pre-built Pipelines**: Access pre-configured pipelines to reduce setup time and effort.
- **Reproducibility**: Ensure consistent and verifiable results with fixed seeds and version-controlled steps.
- **Easy Integration**: Seamlessly fit into existing workflows with minimal configuration.
- **Extensible**: Modify and contribute custom transformations and pipelines to meet specific research needs.
- **Comprehensive Documentation**: Detailed guides, examples, and documentation for all features and modules.
- **Performance Optimized**: Efficiently process large datasets with optimized code and algorithms.
- **Interactive Examples**: Jupyter notebooks provide practical examples for deriving insights from real-world datasets.

## Contributing
Please see [**CONTRIBUTING.md**](https://github.com/sensein/senselab/blob/main/CONTRIBUTING.md) before contributing.

To find out what's currently in progress, please check the [**Project Board**](https://github.com/orgs/sensein/projects/45).

