Synth mode is entered by synth(COMMANDS).

Synth mode is the simplest of the input modes. During parsing of COMMANDS, the program maintains three parameters, (wave, vib, and power) which determine the frequency, shape, amplitude, vibrato, and pitch-sweep of any waveforms applied to a specified patch of music. These are set using the following functions.

@SLOT chooses the slot to be used for future waveform generation.

wave(DATA). This specifies the frequency, amplitude, and offset of any applied waveforms. To generate an instrument which plays at the normally expected pitch, specify a frequency for the fundamental of 440 Hz.

power=POW. Sine waves can be modified by distorting their shape using this parameter. Values <1 will result in a squarer waveform; >1, more peaked.

vib(DATA). This specifies the frequency of any vibrato applied (0 for none), amplitude, and magnitude of any pitch-sweep (<1 for falling, >1 for rising).

### Waveforms

Waveforms can be imposed using the following functions. For waveforms, the currently set parameters (see above) are used. These are additive and do not silence any sound already present.

sine(): despite the name, generates a cosine wave. I.e. it begins at time 0 at a high value assuming 0 offset.

distort(): cosine wave, using the distortion power parameter previously set, applied to the unsigned value at each sample point.

square(): square wave (max and min values of +1 and -1).

saw(): sawtooth (discontinuous).

triangle(): triangle (continuous).

### Noise

white(): white noise, using the amplitude earlier set by wave().

brown(): as above, but brown noise.

crackle(): crackle noise, using the frequency earlier set by wave().