ar fof xamp, xfund, xform, koct, kband, kris, kdur, kdec, \ iolaps, ifna, ifnb, itotdur[, iphs][, ifmode] ar fof2 xamp, xfund, xform, koct, kband, kris, kdur, kdec, \ iolaps, ifna, ifnb, itotdur, kphs, kgliss
fof2 implements k-rate incremental indexing into ifna function with each successive burst.
ifna, ifnb- table numbers of two stored functions. The first is a sine table for sineburst synthesis (size of at least 4096 recommended). The second is a rise shape, used forwards and backwards to shape the sineburst rise and decay; this may be linear ( GEN07) or perhaps a sigmoid ( GEN19).
itotdur - total time during which this fof will be active. Normally set to p3. No new sineburst is created if it cannot complete its kdur within the remaining itotdur.
iphs (optional) - initial phase of the fundamental, expressed as a fraction of a cycle (0 to 1). The default value is 0.
ifmode (optional) - formant frequency mode. If zero, each sineburst keeps the xform frequency it was launched with. If non-zero, each is influenced by xform continuously. The default value is 0.
xfund - the fundamental frequency (in Hertz) of the impulses that create new sinebursts.
xform - the formant frequency, i.e. freq of the sinusoid burst induced by each xfund impulse. This frequency can be fixed for each burst or can vary continuously (see ifmode).
koct - octaviation index, normally zero. If greater than zero, lowers the effective xfund frequency by attenuating odd-numbered sinebursts. Whole numbers are full octaves, fractions transitional.
kband - the formant bandwidth (at -6dB), expressed in Hz. The bandwidth determines the rate of exponential decay throughout the sineburst, before the enveloping described below is applied.
kris, kdur, kdec - rise, overall duration, and decay times (in seconds) of the sinusoid burst. These values apply an enveloped duration to each burst, in similar fashion to a Csound linen generator but with rise and decay shapes derived from the ifnb input. kris inversely determines the skirtwidth (at -40 dB) of the induced formant region. kdur affects the density of sineburst overlaps, and thus the speed of computation. Typical values for vocal imitation are .003,.02,.007.
In the fof2 implementation, kphs allows k-rate indexing of function table ifna with each succesive burst, making it suitable for time-warping applications. Values of for kphs are normalized from 0 to 1, 1 being the end of the function table ifna. kgliss - sets the end pitch of each grain relative to the initial pitch, in octaves. Thus kgliss = 2 means that the grain ends two octaves above its initial pitch, while kgliss = -5/3 has the grain ending a perfect major sixth below. Note: There are no optional parameters in fof2
Csound's fof generator is loosely based on Michael Clarke's C-coding of IRCAM's CHANT program (Xavier Rodet et al.). Each fof produces a single formant, and the output of four or more of these can be summed to produce a rich vocal imitation. fof synthesis is a special form of granular synthesis, and this implementation aids transformation between vocal imitation and granular textures. Computation speed depends on kdur, xfund, and the density of any overlaps.