A Voice Module Generator
Felix Andrew

This program allows you to generate a sound waveform and save it as a module, thus enabling it to be used in the same way as any of the resident waveforms, or 'Voices'.

When run, the application installs its icon on the icon bar. Clicking Select on the icon opens a window containing one cycle of the waveform, which is initially random. The waveform can be edited by simply 'drawing' it in the window. Clicking Menu over the window displays a menu enabling you to generate a default waveform (Sine, Square or Sawtooth), or to construct a waveform mathematically.

To construct a waveform, enter a Basic expression describing how amplitude varies with X into the writeable icon. An example expression is used when the program starts. Clicking on the OK icon will construct the specified waveform. X varies from 0 to 2*PI, while amplitude varies from 0 to 255. Thus to create a sine wave of maximum amplitude, enter '128+128*SIN(X)'.

Clicking Menu on the icon bar icon allows you to save the waveform in a data file, which can then be reloaded and edited at a later date, or as a module, which can then be loaded (by clicking on its icon or using *RMLoad) to add the voice to those present. You can examine the range of voices available using *Voices. A voice can be attatched to a channel using *ChannelVoice. Attatching a voice to channel 1 allows the voice to be heard by executing a VDU 7, or by pressing Ctrl-G at the command line.
