QUICK-REF - CsoundManual - Top of this section - Previous - Contents - Index - Next 


 ar   grain    xamp, xcps, xdens, kampdev, kcpsdev, kgdur, //
                   igfn, iwfn, imaxdur


Generates granular synthesis textures.


igfn - is the ftable number of the grain waveform. This can be just a sine wave or a sampled sound of any length. Each grain will start from a random table position and sustain for igdur seconds.

iwfn - Ftable number of the amplitude envelope used for the grains (see also GEN20).

imaxdur - maximum grain duration (in seconds) that can be generated. Limits the range of kgdur.


This unit generates a succession of granular sound elements of amplitude xamp, frequency xcps, and granular density xdens grains per second. The amplitude and frequency of successive grains can be randomly varied within the (bipolar ) deviations kampdev and kcpsdev; if these values are 0 there is no random variation in that dimension. The density can also be given a random component (e.g. added noise) via the xdens parameter; if this value is constant the result is synchronous granular synthesis, similar to fof.

Individual grains are made from cycles of the periodic waveform igfn, and each is made to start from a random position within that table. Each grain lasts a duration kgdur, and is shaped by the envelope function igfn. The k-varying duration is limited by imaxdur, and is clipped to that value if kgdur exceeds it.

The overall output amplitude of this generator is a dynamic function of the amplitude of each grain, the density of grains, their envelopes, and their durations.

The grain generator is based primarily on work and writings of Barry Truax and Curtis Roads.


Paris Smaragdis
May 1997

QUICK-REF - CsoundManual - Top of this section - Previous - Contents - Index - Next 

HTML Csound Manual - © Jean Piché & Peter J. Nix, 1994-97