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

GEN12

     f    #    time    size    -12    xint   


DESCRIPTION

This generates the log of a modified Bessel function of the second kind, order 0, suitable for use in amplitude-modulated FM.

INITIALIZATION

size - number of points in the table. Must be a power of 2 or a power-of-2 plus 1 ( see f statement). The normal value is power-of-2 plus 1.

xint - specifies the x interval [0 to +int] over which the function is defined.

Note: This subroutine draws the natural log of a modified Bessel function of the second kind, order 0 (commonly written as I subscript 0), over the x-interval requested. The call should have rescaling inhibited.

The function is useful as an amplitude scaling factor in cycle-synchronous amplitude-modulated FM. (See Palamin & Palamin, J. Audio Eng. Soc., 36/9, Sept. 1988, pp.671-684.) The algorithm is interesting because it permits the normally symmetric FM spectrum to be made asymmetric around a frequency other than the carrier, and is thereby useful for formant positioning. By using a table lookup index of I(r - 1/r), where I is the FM modulation index and r is an exponential parameter affecting partial strengths, the Palamin algorithm becomes relatively efficient, requiring only oscil's, table lookups, and a single exp call.

EXAMPLE:


f 1 0 2049 -12 20

This draws an unscaled ln(I0(x)) from 0 to 20.


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

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