Utilitiesatsaatsa
Performs ATS analysis on a soundfile.
atsaDescription
ATS analysis for use with the Csound ATS Resynthesis opcodes.
Syntaxcsound -U atsa [flags] infilename outfilenameInitialization
The following flags can be set for atsa (The default values are
stated in parenthesis):
-b start (0.000000 seconds)-e duration (0.000000 seconds or end)-l lowest frequency (20.000000 Hertz)-H highest frequency (20000.000000 Hertz)-d frequency deviation (0.100000 of partial freq.)-c window cycles (4 cycles)-w window type (type: 1) (Options: 0=BLACKMAN, 1=BLACKMAN_H, 2=HAMMING, 3=VONHANN)-h hop size (0.250000 of window size)-m lowest magnitude (-60.000000)-t track length (3 frames)-s min. segment length (3 frames)-g min. gap length (3 frames)-T SMR threshold (30.000000 dB SPL)-S min. segment SMR (60.000000 dB SPL)-P last peak contribution (0.000000 of last peak's parameters)-M SMR contribution (0.500000)-F File Type (type: 4) (Options: 1=amp.and freq. only,
2=amp.,freq. and phase, 3=amp.,freq. and residual,
4=amp.,freq.,phase, and residual)ParametersATS analysis was devised by Juan Pampin. For complete
information on ATS visit: http://www-ccrma.stanford.edu/~juan/ATS.html.
Analysis parameters must be carefully tuned for the Analysis
Algorithm (ATSA) to properly capture the nature of the signal to
be analyzed. As there are a significant number of them, ATSH
offers the possibility of Saving/Loading them in a Binary File
carrying the extension "*.apf". The extension is not mandatory,
but recommended. A brief explanation of each Analysis Parameters
follows:
Start (secs.): the starting time of the analysis in seconds.Duration (secs.): the duration time of the analysis in
seconds. A zero means the whole duration of the input sound file.Lowest Frequency (Hz.): this parameter will partially
determine the size of the Analysis Window to be used. To compute
the size of the Analysis Window, the period of the Lowest
Frequency in samples (SR / LF) is multiplied by the number of
cycles of it the user wants to fit in the Analysis Window (see
parameter 6). This value is rounded to the next power of two to
determine the size of the FFT for the analysis. The remaining
samples are zero-padded. If the signal is a single, harmonic
sound, then the value of the Lowest Frequency should be its
fundamental frequency or a sub-harmonic of it. If it is not
harmonic, then its lowest significant frequency component may be a
good starting value.Highest Frequency (Hz.): highest frequency to be taken
into account for Peak Detection. Once it is determined that no
relevant information is found beyond a certain frequency, the
analysis may be faster and more accurate setting the Highest
Frequency parameter to that value.Frequency Deviation (Ratio): frequency deviation
allowed for each peak in the Peak Continuation Algorithm, as a
ratio of the frequency involved. For instance, considering a peak
at 440 Hz and a Deviation of .1 will produce that the Peak
Continuation Algorithm will only try to find candidates for its
continuation between 396 and 484 Hz (10% above and below the
frequency of the peak). A small value is likely to produce more
trajectories whilst a large value will reduce them, but at the
cost of rendering information difficult to be further processed.Number of Cycles of Lowest Frequency to fit in
Analysis Window: this will also partially determine the size of
the Fourier Analysis Window to be used. See Parameter 3. For
single harmonic signals, it is supposed to be more than one
(typically 4).Hop Size (Ratio): size of the gap between one Analysis
Window and the next expressed as a ratio of the Window Size. For
instance, a Hop Size value of .25 will "jump" by 512 samples
(Windows will overlap for a 75% of their size). This parameter
will also determine the size of the analysis frames
obtained. Signals that change their spectra very fast (such as
Speech sounds) may need a high frame rate in order to properly
track their changes.Amplitude Threshold (dB): the highest amplitude value
to be taken into account for Peak Detection.Window Type: the shape of the smoothing function to be
used for the Fourier Analysis. There are four choices available at
present: Blackman, Blackman-Harris, Von Hann, and Hanning. Precise
specifications about them are easily found on D.S.P. bibliography.Track Length (Frames): The Peak Continuation Algorithm
will "look-back" by Length frames in order to do its job better,
preventing frequency trajectories from curving too much and
loosing stability. However, a large value for this parameter will
slow down the analysis significantly.Minimal Segment Length (Frames): once the analysis is
done, the spectral data can be further "cleaned" up during
post-processing. Trajectories shorter than this value are
suppressed if their average SMR is below Minimal Segment SMR (see
parameters 16 and 14). This might help to avoid non-relevant
sudden changes while keeping a high frame rate, reducing also the
number of intermittent sinusoids during synthesis.Minimal Gap Length (Frames): as parameter 11, this one
is also used to clean up the data during post-processing. In this
case, gaps (zero amplitude values, i.e. theoretical "silence")
longer than Length frames are filled up with amplitude/frequency
values obtained by linear interpolation of the adjacent active
frames. This parameter prevents sudden interruptions of stable
trajectories while keeping a high frame rate.SMR Threshold (dB SPL): also a post-processing
parameter, the SMR Threshold is used to eliminate partials with
low averages.Minimal Segment SMR (dB SPL): this parameter is used
in combination with parameter 11. Short segments with SMR average
below this value will be removed during post-processing.Last Peak Contribution (0 to 1): as explained in
Parameter 10, the Peak Continuation Algorithm "looks-back" several
number of frames to do its job better. This parameter will help to
weight the contribution of the first precedent peak over the
others. A zero value means that all precedent peaks (to the size
of Parameter 10) are equally taken in account.SMR Contribution (0 to 1): In addition to the
proximity in frequency of the peaks, the ATS Peak Continuation
Algorithm may use psycho-acoustic information (the
Signal-to-Mask-Ratio, or SMR) to improve the perceptual
results. This parameter indicates how much the SMR information is
used during tracking. For instance, a value of .5 makes the Peak
Continuation Algorithm to use a 50% of SMR information and a 50%
of Frequency Proximity information to decide which is the best
candidate to continue a sinusoidal track.Examples
The following command:
atsa -b0.1 -e1 -l100 -H10000 -w2 audiofile.wav audiofile.ats
Generates the ATS analysis file 'audiofile.ats' from the
original 'audiofile.wav' file. It begins analysis from second 0.1
of the file and the analysis is performed for 1 second
thereafter. The lowest frequency stored is 100 Hz and the highest
is 10kHz. A Hamming window is used for each analysis frame.