Getting Started
Installation
for Mac (assuming Homebrew is installed):
$ brew install libsndfile
for Debian:
$ apt-get install libsndfile-dev
install via the PyPi repository
$ pip install pyatsyn
# included command line utilities
$ pyatsyn-atsa --help
$ pyatsyn-info --help
$ pyatsyn-synth --help
Example command line usage to generate an ats file with residual:
$ pyatsyn-atsa example.wav example.ats -v -r example-residual.wav
Example to print information about a .ats file to stdout:
$ pyatsyn-info example.ats
Example to synthesize the result using a sine-generator bank:
$ pyatsyn-synth example.ats synthesized.wav
Example to synthesize the result a sine-generator bank and w/ band-limited noise synthesis for the residual:
$ pyatsyn-synth example.ats synthesized_w_noise.wav --noise 1.0
for Developers, if using from source
$ git clone https://github.com/boxofbox/pyatsyn
we recommend running in a virtual environment from within the project base directory
$ cd pyatsyn
$ python -m venv .venv
$ source .venv/bin/activate
python libraries required:
$ pip install numpy
$ pip install soundfile
optional documentation generation requires:
$ pip install sphinx
may need to be run as a package in development mode (from within the outermost pyatsyn directory containing the pyproject.toml file)
$ pip install -e .
If you are a newcomer to the ATS system we recommend you start by looking at tracker
ATS Overview
Analysis, Transformation and Synthesis (ATS) is a spectral modeling system based on a sinusoidal plus critical-band noise decomposition. The system can be used to analyze recorded sounds, transform their spectrum using a wide variety of algorithms and resynthesize them both out of time and in real time.
Psychoacoustic processing informs the system’s sinusoidal tracking and noise modeling algorithms. Perceptual Audio Coding (PAC) techniques such as Signal-to-Mask Ratio (SMR) evaluation are used to achieve perceptually accurate sinusoidal tracking. SMR values are also used as a psychoacoustic metric to determine the perceptual relevance of partials during analysis data postprocessing. The system’s noise component is modeled using Bark-scale frequency warping and sub-band noise energy evaluation. Noise energy at the sub-bands is then distributed on a frame-by-frame basis among the partials resulting in a compact hybrid representation based on noise modulated sinusoidal trajectories.
Other ATS Implementations
C implementations of ATSA and Qatsh and original Lisp version archive: DXARTS Gitlab
SuperCollider Interfaces for ATS (including classes to read ATS files as well ad UGens to do transformation and synthesis) are included in Josh Parmenter’s UGen library, JoshUGens, distributed in the sc3-plugins package for SuperCollider: sc3-plugins | docs
Csound Opcodes for ATS Csound FLOSS manual
PureData binaries and toolkit puredata ats-pd
Grow your own using the ATS Binary File Format: ats_io
ATS Theory
(PDF) ATS: A System for Sound Analysis Transformation and Synthesis Based on a Sinusoidal plus Critical-Band Noise Model and Psychoacoustics Juan Pampin Center for Digital Arts and Experimental Media ( DXARTS ), University of Washington pampin@u.washington.edu