Skip to main content

Python Package for Time-Scale Modification and Pitch-Shifting

Project description

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/

If you use the libtsm in your research, please consider the following references.

References

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.

Jonathan Driedger and Meinard Müller: TSM Toolbox: MATLAB Implementations of Time-Scale Modification Algorithms. In Proceedings of the International Conference on Digital Audio Effects (DAFx): 249–256, 2014.

Jonathan Driedger and Meinard Müller: A Review on Time-Scale Modification of Music Signals. Applied Sciences, 6(2): 57–82, 2016.

Jonathan Driedger, Meinard Müller, and Sebastian Ewert: Improving Time-Scale Modification of Music Signals using Harmonic-Percussive Separation. IEEE Signal Processing Letters, 21(1): 105–109, 2014.

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

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 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 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libtsm-1.1.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

libtsm-1.1.1-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file libtsm-1.1.1.tar.gz.

File metadata

  • Download URL: libtsm-1.1.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.10

File hashes

Hashes for libtsm-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b47d95893fa69637438a9abaaf68ca29a209d17014ff3aadc7834c4e939f6179
MD5 2162e278e11088382a983accaf00584a
BLAKE2b-256 e00648b633b6d0a4d880ee1ee55f3b9c6cd9ccfe0c4a86d99fa3a32dac101767

See more details on using hashes here.

File details

Details for the file libtsm-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: libtsm-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.10

File hashes

Hashes for libtsm-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 155ce5fabdcb8a446aa68ee31f1c734897cfff68a9210052ecfc8530da7ad672
MD5 4eb547b41e06082d852da12320c08b95
BLAKE2b-256 b8a631b14ecebe6c357ac7e303ea4122d9ee2b03f6b6b6d1e472a7ac68d75e68

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page