<- C I ->

GEN15

This subroutine creates two tables of stored polynomial functions, suitable for use in phase quadrature operations.
     f    #    time    size    15    xint    xamp    h0    phs0   h1    phs1    h2    phs2  .  .  .    
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 - provides the left and right values [-xint, +xint] of the x interval over which the polynomial is to be drawn. This subroutine will eventually call GEN03 to draw both functions; this p5 value is therefor expanded to a negative-positive p5, p6 pair before GEN03 is actually called. The normal value is 1.

xamp - amplitude scaling factor of the sinusoid input that is expected to produce the following spectrum.

h0, h1, h2, ... hn - relative strength of partials 0 (DC), 1 (fundamental), 2 ... that will result when a sinusoid of amplitude xamp * int(size/2)/xint is waveshaped using this function table. These values thus describe a frequency spectrum associated with a particular factor xamp of the input signal.

phs0, phs1, ... - phase in degrees of desired harmonics h0, h1, ... when the two functions of GEN15 are used with phase quadrature.

Note:

GEN15 creates two tables of equal size, labelled f # and f # + 1. Table # will contain a Chebyshev function of the first kind, drawn using GEN03 with partial strengths h0cos(phs0), h1cos(phs1), ... Table #+1 will contain a Chebyshev function of the 2nd kind by calling GEN14 with partials h1sin(phs1), h2sin(phs2),... (note the harmonic displacement). The two tables can be used in conjunction in a waveshaping network that exploits phase quadrature.

<- C I ->
Prepared from the MIT Media Lab Csound Manual, PJN, Nov 1994.