Skip to main content

A real-time audio time-scale modification library

Project description

Documentation Status Build Status

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:

https://audiotsm.readthedocs.io/

Source code repository and issue tracker:

https://github.com/Muges/audiotsm/

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


Download files

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

Source Distribution

audiotsm-0.1.0.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audiotsm-0.1.0-py2.py3-none-any.whl (22.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file audiotsm-0.1.0.tar.gz.

File metadata

  • Download URL: audiotsm-0.1.0.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for audiotsm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fb3517531641b9096a8be5eb0766c7a6ba5e052259059839d35d0bff0caa6c2e
MD5 6deca6e5aa42fe08c28e9689268c3c29
BLAKE2b-256 dd502eff5dbda8a8a0334fee2de500f73c9a9f252c52f37333ce15a9745e9551

See more details on using hashes here.

File details

Details for the file audiotsm-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for audiotsm-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8ddfe767f7ed59d7fc3dc4549dca09aae81d77f3fe1d3fd3570f90a0c1df98d9
MD5 42c677440418154102066819d2a81da3
BLAKE2b-256 5dc3da6cb8aa6ca0d32f9b4f38415cbe801aae20054a193c49294494c70ed4eb

See more details on using hashes here.

Supported by

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