Spectral Modelling

This is the example instrument (madd.ins) that plays static spectral data through array of oscillators.


Analysis, Transformation, Synthesis (ATS) is a library of Lisp/CLM functions for Spectral Modeling. To be able to rune the following examples you have to do the following:
(load "/user/j/juan/Pub/Ats/all")
This loads all the ATS functions and a couple of already analyzed sounds into the Lisp environment.

ATS Examples

We can now synthesize one of our examples using Additive Synthesis with oscillators:
(with-sound (:scaled-to 0.707)(osc-synth 0.0 tb-a1))
This reconstructs the sound of a Trombone pedal tone (A1). We can transpose the spectrum of the trombone using the function trans-sound:
(trans-sound 'tb-a1 0.5 :name 'tb-a0)

(with-sound (:scaled-to 0.707)(osc-synth 0.0 tb-a0))
Transformations can be dynamic. Lets transpose the other example, "voice-phrase", gradually a little down. First we can synthesize the original:
(with-sound (:scaled-to 0.707)(osc-synth 0.0 voice-phrase))
Now we transform it:
(trans-sound 'voice-phrase '((0 1 1 0.8)) :name 'voice-phrase-trans)

(with-sound (:scaled-to 0.707)(osc-synth 0.0 voice-phrase-trans))
We can cumulate transformations on a same sound. For example, we stretch voice-phrase-trans gradually and keep the result in a new sound called "voice-phrase-trans-stretch":
(stretch-sound 'voice-phrase-trans '((0 1 1 1.5)) :name 'voice-phrase-trans-stretch)

(with-sound (:scaled-to 0.707)(osc-synth 0.0 voice-phrase-trans-stretch))

Real-Time ATS

Sounds can be transformed during Synthesis in real-time using the rt-syhth instrument. First we hava to set memory ready for the instrument's GUI:
(open-controls 2048)
Now we have to start the GUI on an xterm:
/user/j/juan/Pub/Ats/Synth/rt_synth_lnx &
To call the instrument we use with-psound:
(with-psound ()(rt-synth tb-a1))


(with-psound ()(rt-synth voice-phrase))
We can sinthesize only a group of partials using a list:
(with-psound ()
  (rt-synth voice-phrase 
    :par (loop for i from 0 below (ats-sound-partials voice-phrase) by 2 collect i)))