GEN routines are used as data generators for function tables. When a function table is created using the *f score statement* the GEN function is given as its fourth argument. A negative GEN number implies that the function is not rescaled, and maintains its original values.

*GEN09*- Composite waveforms made up of weighted sums of simple sinusoids.*GEN10*- Composite waveforms made up of weighted sums of simple sinusoids.*GEN11*- Additive set of cosine partials.*GEN19*- Composite waveforms made up of weighted sums of simple sinusoids.*GEN30*- Generates harmonic partials by analyzing an existing table.*GEN33*- Generate composite waveforms by mixing simple sinusoids.*GEN34*- Generate composite waveforms by mixing simple sinusoids.

*GEN05*- Constructs functions from segments of exponential curves.*GEN06*- Generates a function comprised of segments of cubic polynomials.*GEN07*- Constructs functions from segments of straight lines.*GEN08*- Generate a piecewise cubic spline curve.*GEN16*- Creates a table from a starting value to an ending value.*GEN25*- Construct functions from segments of exponential curves in breakpoint fashion.*GEN27*- Construct functions from segments of straight lines in breakpoint fashion.

*GEN02*- Transfers data from immediate pfields into a function table.*GEN17*- Creates a step function from given x-y pairs.*GEN44*- Creates a stifness matrix for scan/scanu.*GEN52*- Creates an interleaved multichannel table from the specified source tables, in the format expected by the*ftconv*opcode.

*GEN20*- Generates functions of different windows.

*GEN03*- Generates a stored function table by evaluating a polynomial.*GEN13*- Stores a polynomial whose coefficients derive from the Chebyshev polynomials of the first kind.*GEN14*- Stores a polynomial whose coefficients derive from Chebyshevs of the second kind.*GEN15*- Creates two tables of stored polynomial functions.

*GEN51*- fills a table with a fully customized micro-tuning scale, in the manner of Csound opcodes*cpstun*,*cpstuni*and*cpstmid*.

Csound's GEN routines can be extended with GEN function plugins. There is currently a simple GEN plugin that provides exponential and hyperbolic tangent functions, and the sone function. There is also a generator called farey for the Farey sequence operations, and a Bézier curve generator. These GEN functions are not called by number, but by name.

*"tanh"*- fills a table from a hyperbolic tangent formula.*"exp"*- fills a table from an exponential formula.*"sone"*- fills a table from a sone function formula.*"farey"*- fills a table from a Farey sequence.-
*"quadbezier"*- fills a table with a quadratic Bézier curve. *"wave"*- fills a table from a wavelet transform.*"padsynth"*- fills a table using the padsynth algorithm.