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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b47d95893fa69637438a9abaaf68ca29a209d17014ff3aadc7834c4e939f6179 |
|
MD5 | 2162e278e11088382a983accaf00584a |
|
BLAKE2b-256 | e00648b633b6d0a4d880ee1ee55f3b9c6cd9ccfe0c4a86d99fa3a32dac101767 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 155ce5fabdcb8a446aa68ee31f1c734897cfff68a9210052ecfc8530da7ad672 |
|
MD5 | 4eb547b41e06082d852da12320c08b95 |
|
BLAKE2b-256 | b8a631b14ecebe6c357ac7e303ea4122d9ee2b03f6b6b6d1e472a7ac68d75e68 |