# 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.](https://www.audiolabs-erlangen.de/fau/professor/mueller/publications/2014_DriedgerMueller_TSM-Toolbox_DAFX.pdf)
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.](https://www.mdpi.com/2076-3417/6/2/57)
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.](https://ieeexplore.ieee.org/abstract/document/6678724)
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](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.
Raw data
{
"_id": null,
"home_page": "https://www.audiolabs-erlangen.de/resources/MIR/2021-DAFX-AdaptivePitchShifting",
"name": "libtsm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "audio, music, tsm, pitch-shifting",
"author": "Sebastian Rosenzweig, Simon Schw\u00e4r, Jonathan Driedger and Meinard M\u00fcller",
"author_email": "sebastian.rosenzweig@audiolabs-erlangen.de",
"download_url": "https://files.pythonhosted.org/packages/61/3c/7bc06bfe1e6a2ffaef41a884c7335cb49f11e30a189d2053ed13660867c9/libtsm-1.1.2.tar.gz",
"platform": null,
"description": "# libtsm\n\nA Python toolbox for Time-Scale Modification (TSM) and Pitch-Shifting.\n\nDetails and example application:\n\nhttps://www.audiolabs-erlangen.de/resources/MIR/2021-DAFX-AdaptivePitchShifting\n\n`libtsm` is based on a re-implementation of the Matlab TSM Toolbox by Jonathan Driedger and Meinard M\u00fcller:\n\nhttps://www.audiolabs-erlangen.de/resources/MIR/TSMtoolbox/\n\nIf you use the libtsm in your research, please consider the following references.\n\n## References\n\nSebastian Rosenzweig, Simon Schw\u00e4r, Jonathan Driedger, and Meinard M\u00fcller:\nAdaptive Pitch-Shifting with Applications to Intonation Adjustment in A Cappella Recordings\nProceedings of the International Conference on Digital Audio Effects (DAFx), 2021.\n\nJonathan Driedger and Meinard M\u00fcller:\n[TSM Toolbox: MATLAB Implementations of Time-Scale Modification Algorithms.](https://www.audiolabs-erlangen.de/fau/professor/mueller/publications/2014_DriedgerMueller_TSM-Toolbox_DAFX.pdf)\nIn Proceedings of the International Conference on Digital Audio Effects (DAFx): 249\u2013256, 2014.\n\nJonathan Driedger and Meinard M\u00fcller:\n[A Review on Time-Scale Modification of Music Signals.](https://www.mdpi.com/2076-3417/6/2/57)\nApplied Sciences, 6(2): 57\u201382, 2016.\n\nJonathan Driedger, Meinard M\u00fcller, and Sebastian Ewert:\n[Improving Time-Scale Modification of Music Signals using Harmonic-Percussive Separation.](https://ieeexplore.ieee.org/abstract/document/6678724)\nIEEE Signal Processing Letters, 21(1): 105\u2013109, 2014.\n\n## Installation\n\nWith Python >= 3.6, you can install libtsm using the Python package manager pip:\n\n```\npip install libtsm\n```\n\n## Documentation\n\nThe API documentation of `libtsm` is hosted here:\n\nhttps://meinardmueller.github.io/libtsm\n\n## Contributing\n\nWe 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.\n\nIf you want to report an issue with libtsm or seek support, please use the same communication channels (email or GitHub issue).\n\n## Tests\n\nCentral to our tests is the comparison of `libtsm` with the MATLAB TSM Toolbox.\nTo this end, please execute `tests/test_matlab.m` in MATLAB to create the MATLAB output.\nThen, 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.\n\n```\npip install 'libtsm[tests]'\npytest\n```\n\n## Acknowledgements\n\nThis project is supported by the German Research Foundation (DFG MU 2686/12-1, MU 2686/13-1).\nThe International Audio Laboratories Erlangen are a joint institution of the Friedrich-Alexander Universit\u00e4t Erlangen-N\u00fcrnberg (FAU) and Fraunhofer Institute for Integrated Circuits IIS. We thank Edgar Suarez, El Mehdi Lemnaouar and Miguel Gonzales for implementation support.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Package for Time-Scale Modification and Pitch-Shifting",
"version": "1.1.2",
"project_urls": {
"Download": "https://github.com/meinardmueller/libtsm/archive/refs/tags/v1.1.2.tar.gz",
"Homepage": "https://www.audiolabs-erlangen.de/resources/MIR/2021-DAFX-AdaptivePitchShifting"
},
"split_keywords": [
"audio",
" music",
" tsm",
" pitch-shifting"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2bedeaca67f13e3b878e79af784ac2d2ba99d4ef5c839cacead3323b2641e641",
"md5": "3402934c72edddbaffb3a89f6d99533d",
"sha256": "9c33591c063db1f6a5722f73fd86ba602e04786bb54aa52139913b59ad910b14"
},
"downloads": -1,
"filename": "libtsm-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3402934c72edddbaffb3a89f6d99533d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 16637,
"upload_time": "2024-11-27T14:20:55",
"upload_time_iso_8601": "2024-11-27T14:20:55.855075Z",
"url": "https://files.pythonhosted.org/packages/2b/ed/eaca67f13e3b878e79af784ac2d2ba99d4ef5c839cacead3323b2641e641/libtsm-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "613c7bc06bfe1e6a2ffaef41a884c7335cb49f11e30a189d2053ed13660867c9",
"md5": "746d9f4c8f970a419fb41bc32b683abc",
"sha256": "fa508f2b57c29bfffdaf3fed2faf9094430434edcf06605c46374a89ab32a8ea"
},
"downloads": -1,
"filename": "libtsm-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "746d9f4c8f970a419fb41bc32b683abc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 17876,
"upload_time": "2024-11-27T14:20:58",
"upload_time_iso_8601": "2024-11-27T14:20:58.090740Z",
"url": "https://files.pythonhosted.org/packages/61/3c/7bc06bfe1e6a2ffaef41a884c7335cb49f11e30a189d2053ed13660867c9/libtsm-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-27 14:20:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "meinardmueller",
"github_project": "libtsm",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "libtsm"
}