Metadata-Version: 2.4
Name: audiospylt
Version: 0.6.3
Summary: Python toolbox for sound analysis, resynthesis, and visual/symbolic representations.
Author: egorpol
License: MIT License
        
        Copyright (c) 2023 Egor Polyakov
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Changelog, https://github.com/egorpol/audiospylt/blob/main/CHANGELOG.md
Project-URL: Repository, https://github.com/egorpol/audiospylt
Keywords: audio,dft,resynthesis,music,mei,visualization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ipython
Requires-Dist: ipykernel
Requires-Dist: ipywidgets
Requires-Dist: librosa
Requires-Dist: matplotlib
Requires-Dist: nbformat>=4.2.0
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: plotly
Requires-Dist: requests
Requires-Dist: scipy
Requires-Dist: soundfile
Requires-Dist: tqdm
Requires-Dist: verovio
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

<p align="center">
  <img src="https://raw.githubusercontent.com/egorpol/audiospylt/main/logo.png" alt="AudioSpylt Logo" width="240">
</p>

# AudioSpylt

[![PyPI](https://img.shields.io/pypi/v/audiospylt)](https://pypi.org/project/audiospylt/)
[![Python](https://img.shields.io/pypi/pyversions/audiospylt)](https://pypi.org/project/audiospylt/)
[![License](https://img.shields.io/github/license/egorpol/audiospylt)](https://github.com/egorpol/audiospylt/blob/main/LICENSE)
[![Publish to PyPI](https://github.com/egorpol/audiospylt/actions/workflows/publish-pypi.yml/badge.svg)](https://github.com/egorpol/audiospylt/actions/workflows/publish-pypi.yml)
[![GitHub Release](https://github.com/egorpol/audiospylt/actions/workflows/release-from-changelog.yml/badge.svg)](https://github.com/egorpol/audiospylt/actions/workflows/release-from-changelog.yml)
![Jupyter](https://img.shields.io/badge/notebooks-Jupyter-F37626?logo=jupyter&logoColor=white)

> **Note**: This package is currently under development. The provided version (`0.6.3`) should be treated as a pre-stable release. Although the package has been in development for some time, bugs and undocumented features are still common.

**AudioSpylt** is a Python-based toolbox designed for sound analysis, resynthesis, and a variety of visual and symbolic sound representations. While it is primarily intended for instructional purposes, this toolbox seamlessly integrates with the Jupyter Notebook environment. Originally created for composition students, it places a special emphasis on diverse resynthesis techniques.

For a detailed history of changes, see the [CHANGELOG.md](https://github.com/egorpol/audiospylt/blob/main/CHANGELOG.md).

## Toolbox Overview

The toolbox is organized into the following main categories:

- `/case_studies` - narrative notebooks with end-to-end analytic and creative workflows
- `/conferences` - materials from conference presentations featuring AudioSpylt
- `/mei` - test output directory for generated MEI files
- `/samples` - audio files and score sheets used in the case studies
- `/tsv` - sample TSV files used in notebooks
- `/tutorials_tech` - function-focused references for individual parameters and utilities
- `/tutorials_workflow` - workflow examples that combine multiple tools for analysis, transformation, and synthesis

## Google Colab Demos

Demo notebooks are available in this [Google Drive folder](https://drive.google.com/drive/folders/157kHu95PW8tM25Bgyc4NzcVVcLfrqp0g?usp=sharing).

## Getting Started

### Installation

```bash
pip install audiospylt
```

AudioSpylt targets Python 3.12+. When installed from PyPI, `pip` will install the runtime dependencies automatically.

If you are working from a local clone for notebooks or development, you can also install the mirrored dependency list with:

```bash
pip install -r requirements.txt
```

## Dependencies

Current runtime dependencies:

- `ipython`, `ipykernel`, `ipywidgets`, `nbformat>=4.2.0` (notebook support)
- `librosa`, `soundfile` (audio processing)
- `numpy`, `pandas`, `scipy` (data science)
- `matplotlib`, `plotly` (visualization)
- `verovio` (symbolic rendering)
- `requests`, `tqdm` (utilities)

## Contributions

Contributions are welcome through pull requests and issues.

## License

AudioSpylt is released under the MIT License.
