GEN10
Prev | GEN Routines | Next

## GEN10

GEN10 — Generate composite waveforms made up of weighted sums of simple sinusoids.

## Description

These subroutines generate composite waveforms made up of weighted sums of simple sinusoids. The specification of each contributing partial requires 1 pfield using GEN10.

## Syntax

    f # time size 10 str1 str2 str3 str4 ...

## Initialization

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

str1, str2, str3, etc. -- relative strengths of the fixed harmonic partial numbers 1,2,3, etc., beginning in p5. Partials not required should be given a strength of zero.

| Note
These subroutines generate stored functions as sums of sinusoids of different frequencies. The two major restrictions on GEN10 that the partials be harmonic and in phase do not apply to GEN09 or GEN19. In each case the composite wave, once drawn, is then rescaled to unity if p4 was positive. A negative p4 will cause rescaling to be skipped.

## Examples

Here is a simple example of the GEN10 routine. It uses the files gen10.orc and gen10.sco. It will generate a simple sine wave. Here is its diagram:

Diagram of the waveform generated by GEN10.

Example 12. A simple example of the GEN10 routine.

    /* gen10.orc */
    ; Initialize the global variables.
    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    ; Instrument #1.
    instr 1
      kamp = 30000
      kcps = 440
      ifn = 1

      ; Play the sine wave stored in Table #1.
      a1 oscil kamp, kcps, ifn
      out a1
    endin
    /* gen10.orc */

    /* gen10.sco */
    ; Table #1: a simple sine wave (using GEN10).
    f 1 0 16384 10 1

    ; Play Instrument #1 for 2 seconds.
    i 1 0 2
    e
    /* gen10.sco */

## See Also

GEN09, GEN11, and GEN19.

## Credits

Example written by Kevin Conder

Prev | Up | Next
GEN09 | Home | GEN11