A real-time audio time-scale modification library
Project description
AudioTSM is a python library for real-time audio time-scale modification procedures, i.e. algorithms that change the speed of an audio signal without changing its pitch.
- Documentation:
- Source code repository and issue tracker:
- License:
MIT – see the file LICENSE for details.
Installation
Audiotsm should work with python 2.7 and python 3.4+.
For now you should probably install audiotsm directly from the github repository using pip:
pip install git+https://github.com/Muges/audiotsm.git
A package should be available on PyPI soon.
You may also need to install the sounddevice library in order to run the examples or to use a StreamWriter.
Basic usage
The audiotsm package implements several time-scale modification procedures:
OLA (Overlap-Add), which should only be used for percussive audio signals;
WSOLA (Waveform Similarity-based Overlap-Add), an amelioration of the OLA procedure which should give good results on most inputs.
Below is a basic example showing how to reduce the speed of a wav file by half using the WSOLA procedure:
from audiotsm import wsola from audiotsm.io.wav import WavReader, WavWriter with WavReader(input_filename) as reader: with WavWriter(output_filename, reader.channels, reader.samplerate) as writer: tsm = wsola(reader.channels, speed=0.5) tsm.run(reader, writer)
Thanks
If you are interested in time-scale modification procedures, I highly recommend reading A Review of Time-Scale Modification of Music Signals by Jonathan Driedger and Meinard Müller.
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
Hashes for audiotsm-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ddfe767f7ed59d7fc3dc4549dca09aae81d77f3fe1d3fd3570f90a0c1df98d9 |
|
MD5 | 42c677440418154102066819d2a81da3 |
|
BLAKE2b-256 | 5dc3da6cb8aa6ca0d32f9b4f38415cbe801aae20054a193c49294494c70ed4eb |