Jump To:
- Overview
- ATS Theory
- ATS LISP
- ATSA
- ATSH
- Interfaces
- Analysis and Synthesis Techniques
- Publications
- ATS File Format
- Distribution
- ATS Team
- ATS Users
Overview
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.
Originally implemented in LISP, using the CLM sound synthesis and processing language, ATS has been ported to C in the form of a spectral modeling library. This library, called ATSA, implements the ATS system API which has served as foundation for the development of the ATSH graphic user interface. Written in GTK+, ATSH not only provides user-friendly access to the ATS analysis/synthesis core but also graphic data editing and transformation tools. ATS interfaces for SuperCollider, Csound and PD have also been developed.
ATS software is distributed in open-source format. SuperCollider interfaces for ATS (including classes to read ATS files as well ad UGens to do transformation and synthesis) are part of the SuperCollider standard distribution. ATS (ATSA/ATSH) is also part of the Planet CCRMA Linux distribution.
ATS Theory
The attached PDF file provides a detailed description of the ATS system.
See also: Spectral analysis based synthesis and transformation of digital sound: the ATSH program, Oscar Pablo Di Liscia, Juan Pampin
and more in Publications.
ATS LISP
ATS first implementation was written by Juan Pampin in LISP using the CLM sound synthesis and processing language. This version of ATS is still available and is probably the most powerful interface to edit or transform data algorithmically. Spectral data is accessible through a library of LISP functions, many complex transformation algorithms are available which can be extended via macros or new functions. Multiple ATS data files can be loaded into the ATS LISP environment and hybridizing operations can create new sounds by merging their data. After being edited or transformed, data can be saved to ATS binary files (these files can be then read by the ATSH GUI) or synthesized using CLM.
ATSA
ATSA is a library of C functions implementing the ATS system's API. ATS's peak detection, peak tracking, and psychoacoustic processing algorithms are available in the API, as well as residual analysis and noise modeling tools. ATSA can be compiled in many platforms and uses the sndlib library to read and write many types of sound files.
ATSH
ATSH is a graphical user interface for the ATS system. ATSH has been written in GTK+ using the ATSA library API. ATSH can display ATS information in many different ways, it provides a user-friendly interface to the the analysis/synthesis core of ATS as well as a variety of editing and transformation functions.
Interfaces
Interfaces to read and synthesize ATS data have been developed for SuperCollider, Csound and PD. These interfaces read spectral data form ATS binary files, and could serve as models for developing plugins or UGs for other synthesis languages.
ICMC 2004 paper about ATS user interfaces (PDF)
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.
PureData
Pablo Di Liscia's Pure Data Binaries and Toolkit
CSound
FLOSS CSound manual, see Distributions
Grow your own
ATS binary file format – More detailed information on file format, techniques, etc. can be found in this FLOSS CSound manual (though there is information here that is applicable to any ATS interface).
Analysis and Synthesis Techniques
The reader is directed to this FLOSS CSound manual for useful techniques on analysis and resynthesis, which are general applicable to any ATS interface.
Publications
(from Abstract) This paper deals both with the ATS (analysis, transformation and synthesis) technique and with a graphic application developed to handle it, the ATSH program.
- 2013 Linux Audio Conference: A Pure Data toolkit for real-time synthesis of ATS spectral data
- ATS: Sound Analysis Transformation and Synthesis Based on a Sinusoidal plus Critical-Band Noise Model and Psychoacoustics
ATS File Format
A basic rundown of the file format is here, though a more in-depth breakdown can be found in the FLOSS CSound manual.
ATS Distribution
Main Distribution
Project current repository at GitLab
LISP
ATS LISP sources (the latest CLM-2 is required to compile this version of ATS)
ATSH Windows
ATSH Windows binaries (mantained by Oscar Pablo Di Liscia)
SuperCollider
SuperCollider interfaces for ATS (includng classes to read ATS files as well ad UGens to do transformation and synthesis) are included in Josh Parmenter's UGen library, distributed in the sc3-plugins package for SuperCollider
PureData
Pablo Di Liscia's Pure Data Binaries and Toolkit
Linux - Planet CCRMA
ATS (ATSA/ATSH) is also part of the Planet CCRMA Linux distribution
ATS Team
- Juan Pampin, head researcher and project director
- Oscar Pablo Di Liscia, ATSH GUI design and development
- Josh Parmenter, SuperCollider modules development
- James Hughes, C library development
- Former members of the team:
- Johnathan Lyon, Python modules development and general research
- Pete Moss, application development and package administrator
- Alex Norman, Csound/PD interfaces development and transient modeling research
ATS Users
Here is a list of ATS users (far from being complete, but a good sample of the system's users pool).