Trying to understand ATSA -- noise component

I’m playing around with ATSA analysis (Analysis, Transformation and Synthesis (ATS) | DXARTS | University of Washington).

I see @josh 's UGens for resynthesis, which look useful and efficient, but I’m nonetheless trying to understand how I would write my own Synth for this (if it’s possible), just for the sake of study and understanding. I’d like to make sure I understand the meaning of the ATSA data I’m looking at.

The sine components seems straightforward enough, but I don’t think I understand the meaning of the noise energy being distributed to the partials (sections 7 and 8 in this short paper https://dxarts.washington.edu/sites/dxarts/files/documents/wiki/ats_theory.pdf).

I guess I’m looking for an interpretation in supercollider of how to add the noise energy to a sine partial.

Thanks!

1 Like

To get the noise synthesis, you create a band of LFNoise with a frequency equal to the bandwidth, then you ring modulate that with a SinOsc at the center frequency. Finally, scale that by the amount of energy in that band.
I can look later, but I am pretty sure I made gen’s for just synthesis of a single band of noise from ATS as well… when I’m back at my computer I’ll double check.
Hope that helps!

2 Likes

Thanks very much, Josh! I successfully replicated the noise using that recipe :slight_smile:

I was under the impression that the way the noise was distributed was somehow dependent on the partials themselves (like, somehow resonated by them, or something), but now I understand that the noise can be resynthesized independently of the sine partials. I think the dependence was in the analysis portion, not the resynthesis, though I still find the paper confusing. I much prefer to see pseudocode than equations!

And yes, your UGen allows single bands of noise to be synthesized. It’s pretty flexible, and the example use cases in your doc are very helpful. Thanks again!

1 Like

Could you share some example code about doing analysis - modification - resynthesis?

I don’t have a whole workflow going, but there are just a few components.

It doesn’t look like you can do the analysis through Supercollider, but it’s pretty easy to install the ATS program from here DXARTS / Projects / ATS / ATSA · GitLab , which you can use to create .ats files (analyses of wavs).

The UGens and utilities for using .ats files are in the sc3-plugins. Look at the helpfiles/doc for AtsFile, AtsAmp, AtsFreq, AtsParInfo, AtsSynth, AtsNoiSynth to see how to manipulate the data and resynthesize. There is example code in the docs.

1 Like