Metadata-Version: 2.1
Name: libtsm
Version: 1.0.1
Summary: Python Package for Time-Scale Modification and Pitch-Shifting
Home-page: https://www.audiolabs-erlangen.de/resources/MIR/2021-DAFX-AdaptivePitchShifting
Author: Sebastian Rosenzweig, Simon Schwär, Jonathan Driedger and Meinard Müller
Author-email: sebastian.rosenzweig@audiolabs-erlangen.de
License: MIT
Download-URL: https://github.com/meinardmueller/libtsm/archive/refs/tags/v1.0.0.tar.gz
Keywords: audio,music,tsm,pitch-shifting
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: ipython (<8.0.0,>=7.8.0)
Requires-Dist: librosa (<1.0.0,>=0.8.0)
Requires-Dist: matplotlib (<4.0.0,>=3.1.0)
Requires-Dist: numba (<1.0.0,>=0.51.0)
Requires-Dist: numpy (<2.0.0,>=1.17.0)
Requires-Dist: pysoundfile (<1.0.0,>=0.9.0)
Requires-Dist: scipy (<2.0.0,>=1.3.0)
Provides-Extra: dev
Requires-Dist: jupyter (==1.0.*) ; extra == 'dev'
Requires-Dist: nbstripout (==0.4.*) ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx (==4.0.*) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (==0.5.*) ; extra == 'docs'
Provides-Extra: tests
Requires-Dist: pytest (==6.2.*) ; extra == 'tests'

# libtsm

A Python toolbox for Time-Scale Modification (TSM) and Pitch-Shifting.

Details and example application:

https://www.audiolabs-erlangen.de/resources/MIR/2021-DAFX-AdaptivePitchShifting

`libtsm` is based on a re-implementation of the Matlab TSM Toolbox by Jonathan Driedger and Meinard Müller:

https://www.audiolabs-erlangen.de/resources/MIR/TSMtoolbox/


## Installation

With Python >= 3.6, you can install libtsm using the Python package manager pip:

```
pip install libtsm
```

## Documentation

The API documentation of `libtsm` is hosted here:

https://meinardmueller.github.io/libtsm

## Citing

If you use `libtsm`, please cite:

```
Sebastian Rosenzweig, Simon Schwär, Jonathan Driedger, and Meinard Müller:
Adaptive Pitch-Shifting with Applications to Intonation Adjustment in A Cappella Recordings
Proceedings of the International Conference on Digital Audio Effects (DAFx), 2021.
```

## Contributing

We are happy for suggestions and contributions. However, to facilitate the synchronization, we would be grateful for either directly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for creating [an issue](https://github.com/meinardmueller/libtsm/issues) in our GitHub repository. Please do not submit a pull request without prior consultation with us.

If you want to report an issue with libtsm or seek support, please use the same communication channels (email or GitHub issue).

## Tests

Central to our tests is the comparison of `libtsm` with the MATLAB TSM Toolbox.
To this end, please execute `tests/test_matlab.m` in MATLAB to create the MATLAB output.
Then, you can use [pytest](https://pytest.org) for executing our Python test scripts. `pytest` is available when installing libtsm with the extra requirements for testing.

```
pip install 'libtsm[tests]'
pytest
```

## Acknowledgements

This project is supported by the German Research Foundation (DFG MU 2686/12-1, MU 2686/13-1).
The International Audio Laboratories Erlangen are a joint institution of the Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) and Fraunhofer Institute for Integrated Circuits IIS. We thank Edgar Suarez, El Mehdi Lemnaouar and Miguel Gonzales for implementation support.


